diff --git a/wms/account-receivable-renovate-index.php b/wms/account-receivable-renovate-index.php
index 51d819eb..90f18d98 100644
--- a/wms/account-receivable-renovate-index.php
+++ b/wms/account-receivable-renovate-index.php
@@ -124,11 +124,10 @@ SELECT DISTINCT
FROM department
) AS d
-ON d.department_id = tmp2.department_id
-WHERE contractno IN $str_numbers ";
+ON d.department_id = tmp2.department_id";
//T8 銷售訂單 階段收款計畫
-$sql_contract = "SELECT a.BillNo,s.BillDate, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId,
+$sql_contract = "SELECT a.BillNo,s.BillDate, a.RowNo, a.PayStage, a.PlanPayAmt, a.PlanPayDate,s.BizPartnerId,c.BizPartnerName, s.PersonId,
c.EnterpriseName, c.TaxNo, c.ContactAddress FROM salOrderStagePay AS a
LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo
LEFT JOIN comBusinessPartner AS c ON s.BizPartnerId=c.BizPartnerId
@@ -152,13 +151,15 @@ foreach ($contract as $cont) {
$EnterpriseName = $cont['EnterpriseName'];
$TaxNo = $cont['TaxNo'];
$ContactAddress = $cont['ContactAddress'];
+ $RowNo = $cont['RowNo'];
+
//['type'] A:比照新梯、B:純分期、C:其他
//['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 ['second'] 0 二次款名 1 二次款金額 2 收款日期 ['arrive'] 0 貨抵工地款名稱 1 貨抵工地款金額 2 貨抵工地收款日期 ['install'] 0 安裝款名 1 安裝金額 2 安裝收款日期
//['tryrun'] 0 試車款名 1試車金額 2 試車收款日期 ['check'] 0 官檢款名 1 官檢金額 2 官檢收款日期 ['delivery'] 0 交車款名 1 交車金額 2 交車收款日期 ['final'] 0 尾款名 1 尾款金額 2 尾款收款日期
//['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數
if (!(isset($arrayData[$BillNo]))) {
// 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 10 合約號
- $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0,0,0];
+ $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
$arrayData[$BillNo][5] = $partnerName;
$arrayData[$BillNo][6] = $EnterpriseName;
$arrayData[$BillNo][7] = $TaxNo;
@@ -169,68 +170,47 @@ foreach ($contract as $cont) {
$arrayData[$BillNo]['invoice'] = array();
$arrayData[$BillNo]['received_budget'] = 0;
$arrayData[$BillNo]['invoice_budget'] = 0;
- $arrayData[$BillNo]['PayStage'][$PayStage]['type'] = 0;
$arrayData[$BillNo]['A40002'] = $arrayData[$BillNo]['A40009'] = $arrayData[$BillNo]['A40010'] = 0;
$arrayData[$BillNo]['total_facility_num'] = 0;
}
+ $arrayData[$BillNo]['PayStage'][$RowNo]['type'] = 0;
+ $arrayData[$BillNo]['PayStage'][$RowNo]['name'] = $PayStage;
+ $arrayData[$BillNo]['PayStage'][$RowNo]['PlanPayDate'] = $PlanPayDate;
+ $arrayData[$BillNo]['PayStage'][$RowNo]['PayAmount'] = $PayAmount;
// 判斷type
- $wipStage = ['簽約', '訂金','貨抵工地','完工','試車','安裝','驗收','完工','交車'.'尾款','設備'];
- foreach($wipStage as $wipstage){
- if(strpos($PayStage,$wipstage)!==false){
- $arrayData[$BillNo]['PayStage'][$PayStage]['type'] = "A";
- echo "---------'";
- break;
+ $wipStage = ['簽約', '訂金', '貨抵工地', '完工', '試車', '安裝', '驗收', '完工', '交車', '尾款', '合約'];
+ foreach ($wipStage as $wipstage) {
+ if (strpos($PayStage, $wipstage) !== false) {
+ $arrayData[$BillNo]['PayStage'][$RowNo]['type'] = "A";
}
}
- echo $arrayData[$BillNo]['PayStage'][$PayStage]['type'];
- $haveNumber = (int) filter_var(str_replace('-','',$PayStage), FILTER_SANITIZE_NUMBER_INT);
- echo $haveNumber."___________________";
- if($haveNumber >0 && $arrayData[$BillNo]['PayStage'][$PayStage]['type'] === 0){
- $arrayData[$BillNo]['PayStage'][$PayStage]['type'] = "B";
- }elseif($haveNumber > 0 && $arrayData[$BillNo]['PayStage'][$PayStage]['type'] == 'A'){
- $arrayData[$BillNo]['PayStage'][$PayStage]['type'] = "C";
+ $haveNumber = (int) filter_var(str_replace('-', '', $PayStage), FILTER_SANITIZE_NUMBER_INT);
+ if ($haveNumber > 0 && $arrayData[$BillNo]['PayStage'][$RowNo]['type'] === 0) {
+ $arrayData[$BillNo]['PayStage'][$RowNo]['type'] = "B";
+ } elseif ($haveNumber > 0 && $arrayData[$BillNo]['PayStage'][$RowNo]['type'] == 'A') {
+ $arrayData[$BillNo]['PayStage'][$RowNo]['type'] = "C";
}
- echo $PayStage." / ".$arrayData[$BillNo]['PayStage'][$PayStage]['type'];
- echo "
";
- // if ($arrayData[$BillNo]['type'] == 0) {
- // if (mb_substr($cont['PayStage'], -1) == '期' && mb_substr($cont['PayStage'], 0, 1) == '第') {
- // $arrayData[$BillNo]['type'] = "B";
- // } elseif (strpos($cont['PayStage'], '1') == false) {
- // $arrayData[$BillNo]['type'] = "A";
- // } else {
- // $arrayData[$BillNo]['type'] = "E";
- // }
- // } elseif ($arrayData[$BillNo]['type'] == "B") {
- // if (mb_substr($cont['PayStage'], -1) == '期' && mb_substr($cont['PayStage'], 0, 1) == '第') {
- // $arrayData[$BillNo]['type'] = "B";
- // } else {
- // $arrayData[$BillNo]['type'] = "E";
- // }
- // } elseif ($arrayData[$BillNo]['type'] == "A") {
- // if (strpos($cont['PayStage'], '1') == false) {
- // $arrayData[$BillNo]['type'] = "A";
- // } else {
- // $arrayData[$BillNo]['type'] = "E";
- // }
- // }
}
-exit();
$received_array = $conn->query($sql_received);
$opening_data = mysqli_query($link, $sql_opening);
$invoice_data = $conn->query($sql_invoice);
$contract_budget_data = $conn->query($sql_contract_budget);
+// 將T8銷售訂單明細 每個作番金額存入arrayData
$contract_budget = array();
foreach ($contract_budget_data as $cont) {
- if (isset($arrayData[$BillNo]['total_budget'])) {
+ $BillNo = $cont['BillNo'];
+ if (isset($arrayData[$BillNo])) {
$arrayData[$BillNo]['total_budget'] += $cont['OAmountWithTax'];
- if (isset($arrayData[$BillNo][$cont['CU_MaterialId']])) {
- $arrayData[$BillNo][$cont['CU_MaterialId']]['total_budget'] += $cont['OAmountWithTax'];
- $arrayData[$BillNo][$cont['CU_MaterialId']][$cont['MaterialId']] += $cont['OAmountWithTax'];
+ $arrayData[$BillNo][$cont['MaterialId']] += $cont['OAmountWithTax'];
+ if (isset($arrayData[$BillNo]['facility'][$cont['CU_MaterialId']])) {
+ $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['total_budget'] += $cont['OAmountWithTax'];
+ $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']][$cont['MaterialId']] += $cont['OAmountWithTax'];
} else {
- $arrayData[$BillNo][$cont['CU_MaterialId']]['total_budget'] = $cont['OAmountWithTax'];
- $arrayData[$BillNo][$cont['CU_MaterialId']]['A40002'] = $arrayData[$BillNo][$cont['CU_MaterialId']]['A40009'] = $arrayData[$BillNo][$cont['CU_MaterialId']]['A40010'] = 0;
- $arrayData[$BillNo][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax'];
+ $arrayData[$BillNo]['total_facility_num'] += 1;
+ $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['total_budget'] = $cont['OAmountWithTax'];
+ $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40002'] = $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40009'] = $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']]['A40010'] = 0;
+ $arrayData[$BillNo]['facility'][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax'];
}
}
if (isset($contract_budget[$cont['BillNo']])) {
@@ -238,20 +218,39 @@ foreach ($contract_budget_data as $cont) {
} else {
$contract_budget[$cont['BillNo']]['total'] = $cont['OAmountWithTax'];
}
- if (isset($contract_budget[$cont['BillNo']][$cont['CU_MaterialId']])) {
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] += $cont['OAmountWithTax'];
- } else {
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['total'] = $cont['OAmountWithTax'];
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40002'] = 0;
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40009'] = 0;
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']]['A40010'] = 0;
- };
if (isset($contract_budget[$cont['BillNo']][$cont['MaterialId']])) {
$contract_budget[$cont['BillNo']][$cont['MaterialId']] += $cont['OAmountWithTax'];
} else {
$contract_budget[$cont['BillNo']][$cont['MaterialId']] = $cont['OAmountWithTax'];
}
- $contract_budget[$cont['BillNo']][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax'];
+
+ if (isset($contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']])) {
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']]['total'] += $cont['OAmountWithTax'];
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']][$cont['MaterialId']] += $cont['OAmountWithTax'];
+ } else {
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']]['total'] = $cont['OAmountWithTax'];
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']]['A40002'] = 0;
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']]['A40009'] = 0;
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']]['A40010'] = 0;
+ $contract_budget[$cont['BillNo']]['facility'][$cont['CU_MaterialId']][$cont['MaterialId']] = $cont['OAmountWithTax'];
+ };
+}
+
+/*計算作番佔合約的金額比例
+@param $facility_no string => 作番號
+@param $contract_budget_billno array => $contract_budget[合約號]
+return float */
+function get_contract_ratio($facility_no, $contract_budget_billno)
+{
+ $ratio = 0;
+ if (isset($contract_budget_billno['facility'][$facility_no])) {
+ if (empty($contract_budget_billno['total'])) {
+ } else {
+
+ $ratio += $contract_budget_billno['facility'][$facility_no]['total'] / $contract_budget_billno['total'];
+ }
+ }
+ return $ratio;
}
/* 計算比例
@@ -274,35 +273,160 @@ function get_ratio($facility_list, $contract_no, $contract_budget)
}
}
-// 合約收款階段內容分類
-$sign60 = array('簽訂後60天', '簽約60日', '簽約後60天', '簽訂後60日內', '訂金支付後60天');
-$sign90 = array('簽約後90天', '簽約後90日', '簽訂後90天');
-$sign120 = array('簽約後120天', '簽約後120日', '簽訂後120天');
-
-
-//取作番大日程作番與時程
+//取作番大日程作番與時程 進arrayData
// real_contract_arrival_date 預計出貨日
// real_arrival_date 實際出貨日
$today = strtotime(date('Ymd'));
-
$wipwhole_array = mysqli_query($link, $sql);
+$wipwhole_status = array();
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;
+ }
+ $wipwhole_status[$wip['facilityno']] = $wip;
+}
+
+// 整理arrayData[合約]['PayStage']進 (新增) arrayData[合約]['facility'][作番號][PayStage]
+$sign_array = ['訂金', '簽約', '合約'];
+
+foreach ($arrayData as &$value) {
+ if (is_iterable($value['facility'])) {
+ foreach ($value['facility'] as $fakey => $facility) {
+ $ratio = get_contract_ratio($fakey, $contract_budget[$value[10]]);
+ for ($stage = 1; $stage < (count($value['PayStage']) + 1); $stage++) {
+ $facility['PayStage'][$stage] = $value['PayStage'][$stage];
+ //算每個作番的金額
+ $facility['PayStage'][$stage]['PayAmount'] = $value['PayStage'][$stage]['PayAmount'] * $ratio;
+ //算每個作番每個收款階段的收款時間
+ switch ($facility['PayStage'][$stage]['type']) {
+ case "A":
+ switch ($facility['PayStage'][$stage]['name']) {
+ case (stristr($facility['PayStage'][$stage]['name'], '試車')):
+ if (isset($wipwhole_status[$fakey]['tryrun_end_date']) && $wipwhole_status[$fakey]['tryrun_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['tryrun_end_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['tryrun_end_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '完工')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['delivery_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '尾款')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['delivery_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '交車')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['delivery_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '驗收')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['delivery_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '安裝')):
+ if (isset($wipwhole_status[$fakey]['install_end_date']) && $wipwhole_status[$fakey]['install_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['install_end_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['install_end_date']));
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '貨抵工地')):
+ if (isset($wipwhole_status[$fakey]['real_arrival_date']) && $wipwhole_status[$fakey]['real_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_arrival_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['real_arrival_date']));
+ } elseif (isset($wipwhole_status[$fakey]['real_contract_arrival_date']) && $wipwhole_status[$fakey]['real_contract_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_contract_arrival_date'])) {
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime($wipwhole_status[$fakey]['real_contract_arrival_date']));
+ }
+ break;
+ default:
+ break;
+ };
+
+ case "B":
+
+ break;
+ case "C":
+ switch ($facility['PayStage'][$stage]['name']) {
+ case (stristr($facility['PayStage'][$stage]['name'], '試車')):
+ if (isset($wipwhole_status[$fakey]['tryrun_end_date']) && $wipwhole_status[$fakey]['tryrun_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['tryrun_end_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['tryrun_end_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '完工')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['delivery_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '尾款')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['delivery_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '交車')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['delivery_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '驗收')):
+ if (isset($wipwhole_status[$fakey]['delivery_date']) && $wipwhole_status[$fakey]['delivery_date'] !== NULL && !empty($wipwhole_status[$fakey]['delivery_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['delivery_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '安裝')):
+ if (isset($wipwhole_status[$fakey]['install_end_date']) && $wipwhole_status[$fakey]['install_end_date'] !== NULL && !empty($wipwhole_status[$fakey]['install_end_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['install_end_date'])) );
+ }
+ break;
+ case (stristr($facility['PayStage'][$stage]['name'], '貨抵工地')):
+ if (isset($wipwhole_status[$fakey]['real_arrival_date']) && $wipwhole_status[$fakey]['real_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_arrival_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['real_arrival_date'])) );
+ } elseif (isset($wipwhole_status[$fakey]['real_contract_arrival_date']) && $wipwhole_status[$fakey]['real_contract_arrival_date'] !== NULL && !empty($wipwhole_status[$fakey]['real_contract_arrival_date'])) {
+ $haveNumber = (int) filter_var(str_replace('-', '', $facility['PayStage'][$stage]['name']), FILTER_SANITIZE_NUMBER_INT);
+ $facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months",strtotime($wipwhole_status[$fakey]['real_contract_arrival_date'])) );
+ }
+ break;
+ default:
+ break;
+ };
+ default:
+ break;
+ }
+ }
+ }
}
}
-foreach ($arrayData as $data) {
- print_r($data);
- echo "
";
+foreach($arrayData as $key => $value){
+ echo $key."
";
+ print_r($value);
+ echo "
--------------------------
";
}
exit();
-//----------------------------------------------------------------------------------確認A40002、A40009、A40010合約總金額有無存入---------------------------------------------
+//=========================================================================================================================================================
+
foreach ($wipwhole_array as $wip) {
//[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數
@@ -326,494 +450,296 @@ foreach ($wipwhole_array as $wip) {
$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;
- // [合約號][作番號][款別] ['con'] [金額]/[合約預計收款日期]
- // [合約號][作番號][款別] ['inv'] [金額]/[發票開立日期]
- // [合約號][作番號][款別] ['rec'] [金額]/[實際收款日期]
$contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final');
- foreach ($contractstage as $i) {
- $arrayData[$wip['contractno']][$wip['facilityno']][$i] = ['', 0, '', 0, 0, 0, 0];
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['inv']['date'] = "";
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['inv']['budget'] = 0;
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['rec']['date'] = "";
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['rec']['budget'] = 0;
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['con']['date'] = (isset($arrayData[$wip['contractno']][$i][2])) ? $arrayData[$wip['contractno']][$i][2] : "";
- $arrayData[$wip['contractno']][$wip['facilityno']][$i]['con']['budget'] = 0;
- }
- // 補上寶佳 (出貨前) 收款時間
-
- if (isset($arrayData[$wip['contractno']]['sign'][0]) && $arrayData[$wip['contractno']]['sign'][0] == '寶佳出貨前30天') {
- if ($wip['real_arrival_date'] != NULL) {
- $estimate_delivery_time = strtotime($wip['real_arrival_date']);
- $signtime = $estimate_delivery_time - (30 * 86400);
- $signtime = date('Ymd', $signtime);
- $arrayData[$wip['contractno']]['sign'][2] = strval($signtime);
- array_push($arrayData[$wip['contractno']]['sign']['max'], strtotime(strval($signtime)));
- array_push($arrayData[$wip['contractno']]['sign']['min'], strtotime(strval($signtime)));
- } elseif ($wip['real_contract_arrival_date'] != NULL) {
- $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']);
- $signtime = $estimate_delivery_time - (30 * 86400);
- $signtime = date('Ymd', $signtime);
- $arrayData[$wip['contractno']]['sign'][2] = strval($signtime);
- array_push($arrayData[$wip['contractno']]['sign']['max'], strtotime(strval($signtime)));
- array_push($arrayData[$wip['contractno']]['sign']['min'], strtotime(strval($signtime)));
- }
- }
- // 補上二次款 (出貨前) 收款時間,條件不是"出貨前"就pass
- if (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前30天')) {
- if (empty($wip['real_contract_arrival_date'])) {
- } else {
- $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']);
- $secondtime = $estimate_delivery_time - (30 * 86400);
- $secondtime = date('Ymd', $secondtime);
- $arrayData[$wip['contractno']]['second'][2] = strval($secondtime);
- array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime)));
- array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime)));
- }
- } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前90天')) {
- if (empty($wip['real_contract_arrival_date'])) {
- } else {
- $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']);
- $secondtime = $estimate_delivery_time - (90 * 86400);
- $secondtime = date('Ymd', $secondtime);
- $arrayData[$wip['contractno']]['second'][2] = strval($secondtime);
- array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime)));
- array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime)));
- }
- } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && stristr($arrayData[$wip['contractno']]['second'][0], '出貨前120天')) {
- if (empty($wip['real_contract_arrival_date'])) {
- } else {
- $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']);
- $secondtime = $estimate_delivery_time - (120 * 86400);
- $secondtime = date('Ymd', $secondtime);
- $arrayData[$wip['contractno']]['second'][2] = strval($secondtime);
- array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime)));
- array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime)));
- }
- } elseif (isset($arrayData[$wip['contractno']]['second'][0]) && $arrayData[$wip['contractno']]['second'][0] == '寶佳出貨後10天') {
- if ($wip['real_arrival_date'] != NULL) {
- $estimate_delivery_time = strtotime($wip['real_arrival_date']);
- $secondtime = $estimate_delivery_time + (10 * 86400);
- $secondtime = date('Ymd', $secondtime);
- $arrayData[$wip['contractno']]['second'][2] = strval($secondtime);
- array_push($arrayData[$wip['contractno']]['second']['max'], strtotime(strval($secondtime)));
- array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime)));
- } else {
- $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']);
- $secondtime = $estimate_delivery_time + (10 * 86400);
- $secondtime = date('Ymd', $secondtime);
- $arrayData[$wip['contractno']]['second'][2] = strval($secondtime);
- array_push($arrayData[$wip['contractno']]['second']['max'], strtotime($secondtime));
- array_push($arrayData[$wip['contractno']]['second']['min'], strtotime(strval($secondtime)));
- }
- }
//根據作番狀態填入facilities,計算各階段數量、一個合約有幾個作番,增加作番資料
// real_contract_arrival_date 預計出貨日=預計到貨日=預計貨抵工地
// real_arrival_date 實際出貨日=實際到貨日=實際貨抵工地
- //----------------------------------------寶佳的另外處理---------------------------------------------------
-
- if ($arrayData[$wip['contractno']]['sign'][0] == "寶佳出貨前30天") {
- $facility_status = "";
- array_push($arrayData[$wip['contractno']]['total_list'], $wip['facilityno']);
- $today = strtotime(date('Ymd'));
- $contractday = strtotime($arrayData[$wip['contractno']]['sign'][2]);
- $month = collect_month($contractday);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][6] = $month;
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][2] = $arrayData[$wip['contractno']]['sign'][2];
- if ($today > $contractday) {
- $arrayData[$wip['contractno']]['sign_num'] += 1;
- array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']);
- $facility_status = $wip['facilityno'] . " (出貨前30天" . $arrayData[$wip['contractno']]['sign'][2] . "已過)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
- //二次款
- $contractday = strtotime($arrayData[$wip['contractno']]['second'][2]);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = $arrayData[$wip['contractno']]['second'][2];
- $month = collect_month($contractday);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month;
- if ($today > $contractday) {
- $arrayData[$wip['contractno']]['second_num'] += 1;
- array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']);
- $facility_status = $wip['facilityno'] . " (出貨後10天" . $arrayData[$wip['contractno']]['second'][2] . "已過)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
- //貨抵工地款
- if ($wip['real_arrival_date'] != NULL) {
- $estimate_time = strtotime($wip['real_arrival_date']);
- $contractday = $estimate_time + (90 * 86400);
- $month = collect_month($contractday);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month;
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $contractday));
- if ($today > $contractday) {
- $arrayData[$wip['contractno']]['arrive_num'] += 1;
- array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']);
- $arrayData[$wip['contractno']]['arrive'][2] = strval(date('Y-m-d', $contractday));
- $facility_status = $wip['facilityno'] . " (貨抵工地後90天" . $arrayData[$wip['contractno']]['arrive'][2] . "已過)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
- //試車款
- if ($wip['tryrun_end_date'] != NULL) {
- $estimate_time = strtotime($wip['tryrun_end_date']);
- $contractday = $estimate_time + (90 * 86400);
- $month = collect_month($contractday);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month;
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $contractday));
- if ($today > $contractday) {
- $arrayData[$wip['contractno']]['tryrun_num'] += 1;
- array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']);
- $arrayData[$wip['contractno']]['tryrun'][2] = strval(date('Y-m-d', $contractday));
- $facility_status = $wip['facilityno'] . " (試車後90天" . $arrayData[$wip['contractno']]['tryrun'][2] . "已過)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
- //交車款
- if ($wip['delivery_date'] != NULL) {
- $estimate_time = strtotime($wip['delivery_date']);
- $contractday = $estimate_time + (270 * 86400);
- $month = collect_month($contractday);
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month;
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $contractday));
- if ($today > $contractday) {
- $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']]['delivery'][2] = strval(date('Y-m-d', $contractday));
- $facility_status = $wip['facilityno'] . " (交車後270天" . $arrayData[$wip['contractno']]['delivery'][2] . "已過)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
- }
- }
- }
- }
- }
- }
+
+
+ $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 {
- $facility_status = $wip['facilityno'] . " (出貨前30天" . $arrayData[$wip['contractno']]['sign'][2] . "未到)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $facility_status;
+ $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'])));
}
- $arrayData[$wip['contractno']]['facilities'] .= $facility_status;
- } else {
- $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 (!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 ($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']);
+ 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);
- 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)));
+ $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']]['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));
+ $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));
- }
+ 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 {
- 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));
+ $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) {
- 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['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));
}
- 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 {
- 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'])));
- }
+ $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']))));
+ }
+ } 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'])));
}
- 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 {
- 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'])));
- }
+ $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']);
-
+ }
+ } 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);
@@ -833,31 +759,73 @@ foreach ($wipwhole_array as $wip) {
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'] . "預計出港日)
";
+ 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']]['facilities'] .= $wip['facilityno'] . " (預計出港日待確認)
";
- $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (預計出港日待確認)
";
+ $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'] . " (預計出港日待確認)
";
+ }
}
}
}
diff --git a/wms/api/bpm/draw_update.php b/wms/api/bpm/draw_update.php
new file mode 100644
index 00000000..f22bbc31
--- /dev/null
+++ b/wms/api/bpm/draw_update.php
@@ -0,0 +1,8 @@
+ true
+], JSON_UNESCAPED_UNICODE);
+
+
+?>
diff --git a/wms/contract/testT8API.php b/wms/contract/testT8API.php
new file mode 100644
index 00000000..1c3462cb
--- /dev/null
+++ b/wms/contract/testT8API.php
@@ -0,0 +1,69 @@
+ "OtherStockOutMtable",
+ "rows" => [
+ [
+ "BillNo" => "TEST01", // 單據編號 varchar(20)
+ "BillDate" =>20240120, // 單據日期 int
+ "OrgId" => "1000", //組織 varchar(20)
+ "FOrgId" => "1000", //核算組織 varchar(20)
+ "TypeId" => "OS", //單據類型 varchar(10)
+ "BizPartnerId" => "03051501", //往來對象(供應商) 可為空
+ "PersonId" => "C0003", // 經辦人員 varchar(20)
+ "DeptId" => "250", // 經辦部門 varchar(20)
+ "CompId" => "1001" // 公司 varchar(20)
+ ]
+ ]
+ ], [
+ "name" => "OtherStockOutDetail",
+ "rows" => [
+ [
+ "BillNo" => "TEST01", //單據編號 varchar(20)
+ "RowCode" => 1, // 序號 int(10)
+ "MaterialId" => "MX00021003", // 產品代碼 -> 產品集成 varchar(40)
+ "SupplyOrgId" => "1000", // 供貨組織代碼 varchar(20)
+ "SQuantity" =>1, // 交易數量 numeric(19)
+ "WarehouseId" => "100" // 倉庫代碼 varchar(20)
+ ]
+ ]
+ ]
+];
+
+
+$api_url = 'https://erp.masada.com.tw:780/twWebAPI/V1/STKOTHERSTOCKOUT/PostERPData';
+$header = [
+ "CHI_Authorization :" . $validation
+];
+$ch = curl_init();
+curl_setopt($ch, CURLOPT_URL, $api_url); // 设置请求的URL
+curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
+curl_setopt($ch, CURLOPT_POST, 1);
+curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
+
+$response = curl_exec($ch);
+if ($response === false) {
+ echo 'Curl error: ' . curl_error($ch);
+} else {
+ $result = json_decode($response, true);
+ if ($result['Status'] == 'Error') {
+ echo '
'; + print_r($result); + echo ''; + echo 'API 傳入錯誤,' . $result['ErrorMsg']; + } else { + echo '
'; + print_r($result['Status']); + echo ''; + return $result; + } +} + +curl_close($ch); diff --git a/wms/estimated_shipping_date_report.php b/wms/estimated_shipping_date_report.php index 606b06b7..920a7ecf 100644 --- a/wms/estimated_shipping_date_report.php +++ b/wms/estimated_shipping_date_report.php @@ -8,8 +8,8 @@ use PhpOffice\PhpSpreadsheet\Style\Fill; include "header.php"; -$start_y = empty($_POST['start_month']) ? '2023' : substr($_POST['start_month'], 0, 4); -$end_y = empty($_POST['end_month']) ? '2023' : substr($_POST['end_month'], 0, 4); +$start_y = empty($_POST['start_month']) ? date("Y") : substr($_POST['start_month'], 0, 4); +$end_y = empty($_POST['end_month']) ? date("Y") : substr($_POST['end_month'], 0, 4); $start_m = empty($_POST['start_month']) ? '01' : substr($_POST['start_month'], 5, 2); $end_m = empty($_POST['end_month']) ? '12' : substr($_POST['end_month'], 5, 2); @@ -29,8 +29,8 @@ $sql = " w.contract_type FROM wipwholestatus AS w WHERE status = '1' - AND real_contract_arrival_date >= '$start_y-$start_m-1' - AND real_contract_arrival_date <= '$end_y-$end_m-31' + AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') >= '$start_y-$start_m-01' + AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') <= '$end_y-$end_m-31' ) AS this_order WHERE 1 = 1 GROUP BY this_order.contract_type, @@ -38,6 +38,7 @@ $sql = " this_order.date_year, this_order.date_month "; + $result = mysqli_query($link, $sql); $data = []; while ($row = $result->fetch_assoc()) { @@ -286,7 +287,8 @@ function alpha2num($a) return $n - 1; } if ($_SERVER["REQUEST_METHOD"] == 'POST') { - if ($_POST['excel_output'] == 'excel_output') { + $excel_output = !empty($_POST['excel_output']) ? $_POST['excel_output'] : ''; + if ($excel_output == 'excel_output') { $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setTitle('出貨總表'); diff --git a/wms/maintainance_contract_payment_status.php b/wms/maintainance_contract_payment_status.php new file mode 100644 index 00000000..4c4cda2a --- /dev/null +++ b/wms/maintainance_contract_payment_status.php @@ -0,0 +1,399 @@ +query($sql); + +function getContractnoDetails($link, $user_id, $contractno = null) +{ + $sql = " + SELECT + c.contractno + FROM contract AS c + LEFT JOIN con_maintance_examine_apply AS cmea + ON c.contractno = cmea.vol_no + WHERE 1 = 1 + AND cmea.salesman IN (" . getAccountids($link, $user_id) . ") + "; + if (!empty($contractno)) { + $sql .= " + AND c.contractno = '$contractno' + "; + } + $result = mysqli_query($link, $sql); + $data = []; + foreach ($result as $row) { + array_push($data, $row['contractno']); + } + return "'" . implode("','", $data) . "'"; +} + +function getSalesmanNo($link, $contractno) +{ + $sql = " + SELECT + cmea.salesman + FROM contract AS c + LEFT JOIN con_maintance_examine_apply AS cmea + ON c.contractno = cmea.vol_no + WHERE 1 = 1 + AND c.contractno IN ('$contractno') + "; + $result = mysqli_query($link, $sql); + $data = []; + foreach ($result as $row) + return $row['salesman']; + return ""; +} +function getSalesmanName($link, $contractno) +{ + $sql = " + SELECT + a.name + FROM contract AS c + LEFT JOIN con_maintance_examine_apply AS cmea + ON c.contractno = cmea.vol_no + LEFT JOIN account AS a + ON cmea.salesman = a.accountid + WHERE 1 = 1 + AND c.contractno IN ('$contractno') + "; + $result = mysqli_query($link, $sql); + $data = []; + foreach ($result as $row) + return $row['name']; + return ""; +} + +function getAccountids($link, $user_id) +{ + $sql = " + SELECT + accountid + FROM account + WHERE 1 = 1 + AND (accountid = '$user_id' + OR accountid IN ( + SELECT + accountid + FROM account + WHERE 1 = 1 + AND manager = '$user_id' + AND accounttype IN ('B','E','M','W') + ) + ) + "; + $result = mysqli_query($link, $sql); + $data = []; + foreach ($result as $row) { + array_push($data, $row['accountid']); + } + return "'" . implode("','", $data) . "'"; +} + +function checkArCheckBillStatus($row) +{ + $CU_EstPayDate = $row['CU_EstPayDate']; + $BillNo2 = $row['BillNo2']; + if (substr($CU_EstPayDate, 0, 6) <= date("Ym")) { + if (empty($BillNo2)) { + return "未轉應收確認單"; + } else { + return "已轉應收確認單"; + } + } else { + return "時間未到"; + } +} + +function arSellInvoiceMaterial($row) +{ + + $CU_EstPayDate = $row['CU_EstPayDate']; + $InvoiceName = $row['InvoiceName']; + + if (substr($CU_EstPayDate, 0, 6) <= date("Ym")) { + if (empty($InvoiceName)) { + return "未開發票"; + } else { + return "已開發票"; + } + } else { + return "時間未到"; + } +} + +function checkArWriteOffBill($conn, $row) +{ + $BillNo = $row['BillNo2']; + + $sql = " + SELECT + * + -- a.BillNo, + -- a.WriteOffBizPartnerId, + -- a.PayWriteOffOAmount, + -- b.FromBillDate AS ReceivedDate, + -- b.CurrWOFeeOAmt AS Fee, + -- c.OrderBillNo, + -- c.checkBillNo, + -- c.InvoiceNo, + -- c.BillDate AS CheckBillDate + FROM arWriteOffBill AS a + LEFT JOIN arWriteOffBillRec AS b ON a.BillNo=b.BillNo + LEFT JOIN + (SELECT temp1.*,arWriteOffBillDetail.* FROM arWriteOffBillDetail + LEFT JOIN + (SELECT + arCheckBill.BillNo AS checkBillNo, arCheckBill.BillDate,arCheckBillInvInfo.InvoiceNo + FROM arCheckBill + LEFT JOIN arCheckBillInvInfo + ON arCheckBill.InvoiceBillNo=arCheckBillInvInfo.InvoiceBillNo) AS temp1 + ON temp1.checkBillNo = arWriteOffBillDetail.FromBillNo) AS c + ON a.BillNo=c.BillNo + WHERE c.checkBillNo = '$BillNo' + "; + + $del = $conn->query($sql); + $i = 0; + foreach ($del as $row) + $i++; + if (empty($i)) { + return "未收款"; + } else { + return "已收款"; + } +} + +?> + + + + + + + + +
營業人員/契約人員 | +合約號 | +標示號 | +電梯編號 | +預計請款日 | +催收次數 | +應收申請單狀態 | +請款金額(未轉應收) | +請款金額(已轉應收) | +應收申請單號 | +發票狀態 | +發票單標示號 | +發票單號 | +發票明細 | +發票金額 | +發票號碼 | +核銷 | + +
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+ "; + echo getSalesmanName($link, $row['BillNo']); + ?> + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | +