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']); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +There is no record!"; +endif; + +#代表結束連線 +mysqli_close($link); + +include "footer.php"; +?> \ No newline at end of file diff --git a/wms/rib02-create.php b/wms/rib02-create.php index 4c3c420f..5b06c718 100644 --- a/wms/rib02-create.php +++ b/wms/rib02-create.php @@ -120,11 +120,12 @@ foreach ($BizPartner as $biz) { $invoiceNo = mysqli_query($link, $sql_invoiceNo); $invoiceNo_array = array(); -foreach ($invoiceNo as $invoice) { - array_push($invoiceNo_array, $invoice['InvoiceNo']); +if(is_iterable($invoiceNo)){ + foreach ($invoiceNo as $invoice) { + array_push($invoiceNo_array, $invoice['InvoiceNo']); + } } - $BizJSON = json_encode($BusinessPartner); $InvoiceJSON = json_encode($invoiceNo_array); $sql_Project = "SELECT * FROM comProject"; diff --git a/wms/rib02-submit.php b/wms/rib02-submit.php index 592c69ff..c561cd61 100644 --- a/wms/rib02-submit.php +++ b/wms/rib02-submit.php @@ -19,10 +19,20 @@ foreach ($BizPartner as $biz) { $sql_invoiceNo = "SELECT DISTINCT InvoiceNo FROM rib_sub WHERE rib_id !== $rib_id"; $invoiceNo = mysqli_query($link, $sql_invoiceNo); $invoiceNo_array = array(); -foreach ($invoiceNo as $invoice) { - array_push($invoiceNo_array, $invoice['InvoiceNo']); +if (is_iterable($invoiceNo)) { + foreach ($invoiceNo as $invoice) { + array_push($invoiceNo_array, $invoice['InvoiceNo']); + } } +// 取得同筆報銷單的明細資料 +$sql_all_ribsub = "SELECT * FROM rib_sub WHERE rib_id = $rib_id"; +$all_ribsub_data = mysqli_query($link, $sql_all_ribsub); +if (is_iterable($all_ribsub_data)) { + foreach ($all_ribsub_data as $allribsub) { + $CurrLAmount = $allribsub['CurrentLAmount']; + } +} $RowCode = $_POST['RowCode']; $FeeDate = $_POST['FeeDate']; $FeeTypeGen = isset($_POST['FeeTypeGen']) ? $_POST['FeeTypeGen'] : null; @@ -42,9 +52,10 @@ $IsCounteract = $_POST['IsCounteract']; $InvoiceId = $_POST['InvoiceId']; $VoucherCount = empty($_POST['VoucherCount']) ? 1 : $_POST['VoucherCount']; $VoucherType = isset($_POST['VoucherType']) ? $_POST['VoucherType'] : 0; -$InvoiceNo = empty($_POST['InvoiceNo']) ? " ": (in_array(str_replace("-", "",$_POST['InvoiceNo']), $invoiceNo_array) ? " ": str_replace("-", "",$_POST['InvoiceNo'])); +$InvoiceNo = empty($_POST['InvoiceNo']) ? " " : (in_array(str_replace("-", "", $_POST['InvoiceNo']), $invoiceNo_array) ? " " : str_replace("-", "", $_POST['InvoiceNo'])); + +$CurrLAmount = empty($_POST['CurrLAmount']) ? ($CurrId == "TWD" ? 1 : null) : $_POST['CurrLAmount']; -$CurrLAmount = empty($_POST['CurrLAmount']) ? null : $_POST['CurrLAmount']; // $comSupplierName = empty($_POST['comSupplierName']) ? null : $_POST['comSupplierName']; $FromSourceTag = 0; $TaxRate = ($TaxId == "ST005") ? 0.05 : 0; @@ -54,7 +65,7 @@ if ($CurrId == "TWD") { $OAmountUnWithTax = isset($_POST['OAmountUnWithTax']) ? round($_POST['OAmountUnWithTax']) : null; $LAmountUnWithTax = isset($_POST['LAmountUnWithTax']) ? round($_POST['LAmountUnWithTax']) : null; $LAmount = isset($_POST['LAmount']) ? round($_POST['LAmount']) : null; -}else{ +} else { $OTax = isset($_POST['OTax']) ? round($_POST['OTax'], 2) : NULL; $LTax = isset($_POST['LTax']) ? round($_POST['LTax'], 2) : NULL; $OAmountUnWithTax = isset($_POST['OAmountUnWithTax']) ? round($_POST['OAmountUnWithTax'], 2) : null; @@ -62,7 +73,7 @@ if ($CurrId == "TWD") { $LAmount = isset($_POST['LAmount']) ? round($_POST['LAmount'], 2) : null; } -$TaxNo = empty($_POST['TaxNo']) ? '' : $_POST['TaxNo']; +$TaxNo = empty($_POST['TaxNo']) ? ' ' : $_POST['TaxNo']; if (empty($TaxNo)) { $comSupplierName = "雜項請款用"; } else { @@ -90,10 +101,13 @@ if (isset($comSupplierName) && ($comSupplierName != "雜項請款用")) { $SQL1 = ""; if ($submit == "add") { if (($user_id == "M0056") || ($user_id == "M0209")) { + $ribsub_query = "SELECT * FROM rib_sub WHERE rib_id = $rib_id"; + $ribsub_data = mysqli_query($link, $ribsub_query); $SQL1 = "INSERT INTO rib_sub (`RowCode`,`rib_id`,`RowNo`,`FeeDate`,`FeeTypeId`,`WriteOffType`, `BizOrgId`,`WriteOffId`,`FeeOrgId`,`FeeDeptId`,`FeeCompanyId`,`UnitId`,`Quantity`, - `Price`,`OAmount`,`FeeNoteShow`,`CurrId`,`SupplyOrgId`,`CurrOAmount`,`FromSourceTag`,`TaxId`,`IsCounteract`,`InvoiceId`,`TaxRate`,`CreatorId`,`TaxNo`,`CurrentLAmount`,`OTax`,`LTax`, + `Price`,`OAmount`,`FeeNoteShow`,`CurrId`,`SupplyOrgId`,`CurrOAmount`,`FromSourceTag`,`TaxId`,`IsCounteract`,`InvoiceId`,`TaxRate`,`CreatorId`,`TaxNo`,`OTax`,`LTax`, `OAmountUnWithTax`,`LAmountUnWithTax`,`LAmount`"; + $SQL1 .= isset($CurrLAmount) ? ",`CurrentLAmount`" : ""; $SQL1 .= empty($ProjectId) ? "" : ",`ProjectId`"; $SQL1 .= isset($FeeTypeGen) ? ",`FeeTypeGen`" : ""; $SQL1 .= empty($CU_MaterialId) ? "" : ",`CU_MaterialId`"; @@ -105,8 +119,9 @@ if ($submit == "add") { $SQL2 = ") VALUES ($RowCode, $rib_id, $RowCode,$FeeDate,'$FeeTypeId',2, '1000','$WriteOffId','1000','$FeeDeptId','1000','$UnitId',$Quantity, - $Price,$OAmount,'$FeeNoteShow','$CurrId','1000',1,0,'$TaxId',$IsCounteract,'$InvoiceId',$TaxRate,'$user_id','$TaxNo',$CurrLAmount,$OTax,$LTax, + $Price,$OAmount,'$FeeNoteShow','$CurrId','1000',1,0,'$TaxId',$IsCounteract,'$InvoiceId',$TaxRate,'$user_id','$TaxNo',$OTax,$LTax, $OAmountUnWithTax,$LAmountUnWithTax,$LAmount"; + $SQL2 .= isset($CurrLAmount) ? "," . $CurrLAmount : ""; $SQL2 .= empty($ProjectId) ? "" : ",'" . $ProjectId . "'"; $SQL2 .= isset($FeeTypeGen) ? "," . $FeeTypeGen : ""; $SQL2 .= empty($CU_MaterialId) ? "" : ",'" . $CU_MaterialId . "'"; diff --git a/wms/wipwhole-index-function.php b/wms/wipwhole-index-function.php index f1dba89d..af5a1964 100644 --- a/wms/wipwhole-index-function.php +++ b/wms/wipwhole-index-function.php @@ -1337,8 +1337,8 @@ function checkUseridIsManager($user_id) // 中區 李烘銘 if (in_array($user_id, ['M0086'])) return true; - // 桃竹 張莉凱 - if (in_array($user_id, ['M0026'])) + // 桃竹 張莉凱 改 陳家文 + if (in_array($user_id, ['M0029'])) return true; // 宜花東 陳志文 if (in_array($user_id, ['M0054'])) @@ -1348,3 +1348,20 @@ function checkUseridIsManager($user_id) return true; return false; } + +function manage_class_gary_ver($user_id) +{ + global $link; + + $sql = " + SELECT manager + FROM account + WHERE accountid = '$user_id'"; + $res = mysqli_query($link, $sql); + $row = mysqli_fetch_assoc($res); + $manager = $row["manager"]; + mysqli_free_result($res); + if ($manager == "M0001") + return ""; // 董事長略過 + return $manager; +} diff --git a/wms/wipwhole-rec-invoice-edit-submit.php b/wms/wipwhole-rec-invoice-edit-submit.php index a75b65b8..28512a7e 100644 --- a/wms/wipwhole-rec-invoice-edit-submit.php +++ b/wms/wipwhole-rec-invoice-edit-submit.php @@ -140,6 +140,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $tryrun_start_date_owner = $_POST['tryrun_start_date_owner']; $tryrun_end_date = $_POST['tryrun_end_date']; $tryrun_end_date_owner = $_POST['tryrun_end_date_owner']; + $association_check_type = $_POST['association_check_type']; $salesname = accountid2name($salesid)[$salesid]; $salesmail = accountid2email([$salesid])[$salesid]; @@ -378,6 +379,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { delivery_date_owner = '$delivery_date_owner', marketing_remark = '', real_custom_name = '$real_custom_name', + association_check_type = '$association_check_type', "; if (!empty(trim($marketing_remark))) { $updatesql .= " @@ -1018,7 +1020,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { // 外示系統寄信 if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($_POST['form_name'] == 'send_expression_mail_to_platform_form') { - + include "./class/Cmail.php"; $cmail = new Cmail(); @@ -1080,8 +1082,8 @@ function checkWwsAssianStatus($link, $user_id, $id = null) $data['salesname'] = accountid2name($data['salesid'])[$data['salesid']]; $data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']]; - $data['salesmanagername'] = accountid2name(manage_class($data['salesid'])[0])[manage_class($data['salesid'])[0]]; - $data['salesmanagermail'] = accountid2email([manage_class($data['salesid'])[0]])[manage_class($data['salesid'])[0]]; + $data['salesmanagername'] = accountid2name(manage_class_gary_ver($data['salesid']))[manage_class_gary_ver($data['salesid'])]; + $data['salesmanagermail'] = accountid2email([manage_class_gary_ver($data['salesid'])])[manage_class_gary_ver($data['salesid'])]; $data['designname'] = accountid2name("M0023")["M0023"]; $data['designmail'] = accountid2email(["M0023"])["M0023"]; $data['designleadername'] = accountid2name(getSheJiokLeaderNo($link))[getSheJiokLeaderNo($link)]; @@ -1123,7 +1125,12 @@ function checkWwsAssianStatus($link, $user_id, $id = null) ], "永佳捷科技" ); - do_wws_next_assign(manage_class($data['salesid'])[0], $form_YD_key, 'I'); + // 如果是桃竹區 主管是家文的新梯 簽到劉永德經理那 + if (manage_class_gary_ver($data['salesid']) == 'M0029') { + do_wws_next_assign("M0137", $form_YD_key, 'I'); + } else { + do_wws_next_assign(manage_class_gary_ver($data['salesid']), $form_YD_key, 'I'); + } return true; } } diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index e764404f..4cc4847c 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/wms/wipwhole-rec-invoice-edit.php @@ -300,18 +300,27 @@ include "wipwhole-rec-invoice-edit-submit.php"; 營業人員確認項 - +
+ + 官檢類型 + + /> + + /> + + + 營業/契約確認規格 @@ -384,7 +393,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 附件 - 客戶姓名:" placeholder="輸入後即可上傳附件" /> + 客戶姓名:" placeholder="輸入後即可上傳附件" />
)" style="margin-left:3px;">寄送普來特富外示系統信件 @@ -1437,12 +1446,12 @@ include "wipwhole-rec-invoice-edit-submit.php"; QC及官檢類型 - /> - - /> - - /> - + /> + + /> + + /> + @@ -1467,9 +1476,9 @@ include "wipwhole-rec-invoice-edit-submit.php"; QC合格日
- > + > - +
@@ -1485,10 +1494,10 @@ include "wipwhole-rec-invoice-edit-submit.php"; 官檢日
- > - + > + > - +
@@ -1503,7 +1512,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 官檢附件 - > + > 下載附件" : ""; ?> diff --git a/wms/wipwhole-renovate-index-function.php b/wms/wipwhole-renovate-index-function.php index 628649c9..e3b997d6 100644 --- a/wms/wipwhole-renovate-index-function.php +++ b/wms/wipwhole-renovate-index-function.php @@ -1279,8 +1279,8 @@ function checkUseridIsManager($user_id) // 中區 李烘銘 if (in_array($user_id, ['M0086'])) return true; - // 桃竹 張莉凱 - if (in_array($user_id, ['M0026'])) + // 桃竹 張莉凱 改 陳家文 + if (in_array($user_id, ['M0029'])) return true; // 宜花東 陳志文 if (in_array($user_id, ['M0054'])) @@ -1290,3 +1290,20 @@ function checkUseridIsManager($user_id) return true; return false; } + +function manage_class_gary_ver($user_id) +{ + global $link; + + $sql = " + SELECT manager + FROM account + WHERE accountid = '$user_id'"; + $res = mysqli_query($link, $sql); + $row = mysqli_fetch_assoc($res); + $manager = $row["manager"]; + mysqli_free_result($res); + if ($manager == "M0001") + return ""; // 董事長略過 + return $manager; +} diff --git a/wms/wipwhole-renovate-rec-invoice-edit-submit.php b/wms/wipwhole-renovate-rec-invoice-edit-submit.php index 30ea4047..f5f56830 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit-submit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit-submit.php @@ -128,9 +128,13 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $delivery_date = $_POST['delivery_date'] ?: $row['delivery_date']; $old_delivery_date = $_POST['old_delivery_date'] ?: $row['old_delivery_date']; $delivery_date_owner = $_POST['delivery_date_owner'] ?: $row['delivery_date_owner']; - + $salesid = $_POST['salesid'] ?: $row['salesid']; $warehouseid = $_POST['warehouseid'] ?: $row['warehouseid']; $old_warehouseid = $_POST['old_warehouseid'] ?: $row['warehouseid']; + $association_check_type = $_POST['association_check_type'] ?: $row['association_check_type']; + + $salesname = accountid2name($salesid)[$salesid]; + $salesmail = accountid2email([$salesid])[$salesid]; $creater = $_POST['creater']; $create_at = date("Y-m-d H:i:s"); @@ -328,11 +332,12 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { . " 移交日:" . $old_delivery_date . " => " . $delivery_date; } + $cmail->sendx( $mail_title, $mail_content, [ - [$salesname, $salesmail] + [$salesname, $salesmail], // ['gary', 'gary_chen@masada.com.tw'] ], "永佳捷科技" @@ -382,6 +387,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { customer_planning_verify = '$customer_planning_verify', customer_planning_verify_at = '$customer_planning_verify_at', customer_planning_verify_owner = '$customer_planning_verify_owner', + association_check_type = '$association_check_type', marketing_remark = '', "; if (!empty(trim($marketing_remark))) { @@ -1149,8 +1155,8 @@ function checkWwsAssianStatus($link, $user_id) $data['salesname'] = accountid2name($data['salesid'])[$data['salesid']]; $data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']]; - $data['salesmanagername'] = accountid2name(manage_class($data['salesid'])[0])[manage_class($data['salesid'])[0]]; - $data['salesmanagermail'] = accountid2email([manage_class($data['salesid'])[0]])[manage_class($data['salesid'])[0]]; + $data['salesmanagername'] = accountid2name(manage_class_gary_ver($data['salesid']))[manage_class_gary_ver($data['salesid'])]; + $data['salesmanagermail'] = accountid2email([manage_class_gary_ver($data['salesid'])])[manage_class_gary_ver($data['salesid'])]; $data['designname'] = accountid2name("M0023")["M0023"]; $data['designmail'] = accountid2email(["M0023"])["M0023"]; $data['designleadername'] = accountid2name(getSheJiokLeaderNo($link))[getSheJiokLeaderNo($link)]; @@ -1197,7 +1203,7 @@ function checkWwsAssianStatus($link, $user_id) ], "永佳捷科技" ); - do_wws_next_assign(manage_class($data['salesid'])[0], $form_key, 'F'); + do_wws_next_assign(manage_class_gary_ver($data['salesid']), $form_key, 'F'); } } diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index 2af5e630..6e149369 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit.php @@ -613,11 +613,21 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
+ + + 官檢類型 + + /> + + /> + + + 營業確認規格 @@ -693,7 +703,7 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; 附件 - 客戶姓名:" placeholder="輸入後即可上傳附件" /> + 客戶姓名:" placeholder="輸入後即可上傳附件" />
QC及官檢類型 - /> - - /> - - /> - + /> + + /> + + /> + @@ -1478,10 +1488,10 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; 官檢日
- > - > + > + > - +
@@ -1496,7 +1506,7 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; 官檢附件 - > + > 下載附件" : ""; ?> @@ -2054,6 +2064,11 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; 'install_end_date2', 'tryrun_start_date2', 'tryrun_end_date2', + 'install_start_date', + 'install_end_date', + 'tryrun_start_date', + 'tryrun_end_date', + 'delivery_date' ] for (var i = 0; i < catchTime_input_arr.length; i++) { inputChangeCatchTime(catchTime_input_arr[i]); @@ -2369,7 +2384,7 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; } } - function sendExpressionMailToPlatform(id){ + function sendExpressionMailToPlatform(id) { if (confirm('確定要發送郵件嗎?') == true) { $("#wipwholestatusid").val(id); $('#send_expression_mail_to_platform_form').submit(); diff --git a/wms/wipwhole-wipinstallstatus-index-modal.php b/wms/wipwhole-wipinstallstatus-index-modal.php index 38f61862..42fa0027 100644 --- a/wms/wipwhole-wipinstallstatus-index-modal.php +++ b/wms/wipwhole-wipinstallstatus-index-modal.php @@ -19,7 +19,14 @@ if ($method == 'getInstallingDetails') if ($method == 'getInstalling2Details') echo getInstalling2Details($type, $mtype, $radsY, $radsM, $year, $month); - +if ($method == 'getShippingDetailsSql') + echo getShippingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month); +if ($method == 'getEndingDetailsSql') + echo getEndingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month); +if ($method == 'getInstallingDetailsSql') + echo getInstallingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month); +if ($method == 'getInstalling2DetailsSql') + echo getInstalling2DetailsSql($type, $mtype, $radsY, $radsM, $year, $month); // 出貨台數 @@ -44,6 +51,25 @@ function getShippingDetails($type, $mtype, $radsY, $radsM, $year, $month) return json_encode($data, JSON_UNESCAPED_UNICODE); } +function getShippingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month) +{ + global $link; + $sql = " + SELECT + * + FROM wipwholestatus + WHERE status = '1' + AND ( + real_arrival_date IS NOT NULL + AND real_arrival_date != '' + ) + AND real_arrival_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + "; + $sql .= !empty($type) ? " AND contract_type = '$type'" : ""; + $sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : ""; + return $sql; +} + // 工收台數 function getEndingDetails($type, $mtype, $radsY, $radsM, $year, $month) @@ -67,6 +93,24 @@ function getEndingDetails($type, $mtype, $radsY, $radsM, $year, $month) return json_encode($data, JSON_UNESCAPED_UNICODE); } +function getEndingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month) +{ + global $link; + $sql = " + SELECT + * + FROM wipwholestatus + WHERE status = '1' + AND real_arrival_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + AND (delivery_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + OR + official_check_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + ) + "; + $sql .= !empty($type) ? " AND contract_type = '$type'" : ""; + $sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : ""; + return $sql; +} // 試車完台數 function getInstallingDetails($type, $mtype, $radsY, $radsM, $year, $month) @@ -93,6 +137,27 @@ function getInstallingDetails($type, $mtype, $radsY, $radsM, $year, $month) return json_encode($data, JSON_UNESCAPED_UNICODE); } +function getInstallingDetailsSql($type, $mtype, $radsY, $radsM, $year, $month) +{ + global $link; + $sql = " + SELECT + * + FROM wipwholestatus + WHERE status = '1' + AND ( + real_arrival_date IS NOT NULL + AND real_arrival_date != '' + ) + AND real_arrival_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + AND tryrun_end_date <= '$year-$month-31' + AND tryrun_end_date != '' + AND tryrun_end_date IS NOT NULL + "; + $sql .= !empty($type) ? " AND contract_type = '$type'" : ""; + $sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : ""; + return $sql; +} // 在裝中台數 function getInstalling2Details($type, $mtype, $radsY, $radsM, $year, $month) @@ -121,3 +186,28 @@ function getInstalling2Details($type, $mtype, $radsY, $radsM, $year, $month) $data = mysqli_fetch_all($result, MYSQLI_ASSOC); return json_encode($data, JSON_UNESCAPED_UNICODE); } + +function getInstalling2DetailsSql($type, $mtype, $radsY, $radsM, $year, $month) +{ + global $link; + $sql = " + SELECT + * + FROM wipwholestatus + WHERE status = '1' + AND real_arrival_date BETWEEN '$radsY-$radsM-01' AND '$year-$month-31' + AND ( + delivery_date IS NULL + OR delivery_date = '' + OR delivery_date >= '$year-$month-31' + ) + AND( + official_check_date IS NULL + OR official_check_date = '' + OR official_check_date >= '$year-$month-31' + ) + "; + $sql .= !empty($type) ? " AND contract_type = '$type'" : ""; + $sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : ""; + return $sql; +} diff --git a/wms/wipwhole-wipinstallstatus-index.php b/wms/wipwhole-wipinstallstatus-index.php index eb35d2c3..a8f0e15f 100644 --- a/wms/wipwhole-wipinstallstatus-index.php +++ b/wms/wipwhole-wipinstallstatus-index.php @@ -617,6 +617,29 @@ if ((int)$radsY . $radsM > (int)$radeY . $radeM) { function showDetails(method, contract_type, renovate_type, radsY, radsM, radsYi, start_month) { $("#myModal").show(); + + $.ajax({ + type: "POST", + dataType: "html", + url: "wipwhole-wipinstallstatus-index-modal.php", + data: { + method: method+'Sql', + contract_type: contract_type, + renovate_type: renovate_type, + radsY: radsY, + radsM: radsM, + radsYi: radsYi, + start_month: start_month + }, + success: function(data) { + console.log(data); + }, + error: function(data) { + console.log(data); + } + }) + + $.ajax({ type: "POST", dataType: "json", diff --git a/wms/wipwholeinstall-index-export-excel.php b/wms/wipwholeinstall-index-export-excel.php index f47ffa72..c3a0b4ea 100644 --- a/wms/wipwholeinstall-index-export-excel.php +++ b/wms/wipwholeinstall-index-export-excel.php @@ -175,7 +175,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { substr($row['tryrun_end_date'], 0, 10), substr($row['qc_date'], 0, 10), substr($row['end_qc_date'], 0, 10), - substr($row['official_check_date'], 0, 10), + $row['association_check_type'] == '1' ? "-" : substr($row['official_check_date'], 0, 10), substr($row['delivery_date'], 0, 10), accountidToName($row['salesid']) ]; diff --git a/wms/wipwholeinstall-index-table-html.php b/wms/wipwholeinstall-index-table-html.php index 2311eca7..b5c9bcda 100644 --- a/wms/wipwholeinstall-index-table-html.php +++ b/wms/wipwholeinstall-index-table-html.php @@ -172,8 +172,12 @@ diff --git a/wms/wipwholeinstall-renovate-index-export-excel.php b/wms/wipwholeinstall-renovate-index-export-excel.php index 41342d30..a5598afa 100644 --- a/wms/wipwholeinstall-renovate-index-export-excel.php +++ b/wms/wipwholeinstall-renovate-index-export-excel.php @@ -177,7 +177,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { substr($row['tryrun_end_date'], 0, 10), substr($row['qc_date'], 0, 10), substr($row['end_qc_date'], 0, 10), - substr($row['official_check_date'], 0, 10), + $row['association_check_type'] == '1' ? "-" : substr($row['official_check_date'], 0, 10), substr($row['delivery_date'], 0, 10), accountidToName($row['salesid']) ]; diff --git a/wms/wipwholeinstall-renovate-index-table-html.php b/wms/wipwholeinstall-renovate-index-table-html.php index 2f3dc8f4..7a9715ea 100644 --- a/wms/wipwholeinstall-renovate-index-table-html.php +++ b/wms/wipwholeinstall-renovate-index-table-html.php @@ -155,8 +155,12 @@