diff --git a/wms/account-receivable-facility.xlsx b/wms/account-receivable-facility.xlsx index db0898a8..9c5fbaa6 100644 Binary files a/wms/account-receivable-facility.xlsx and b/wms/account-receivable-facility.xlsx differ diff --git a/wms/account-receivable-index.php b/wms/account-receivable-index.php index cab5caf3..da6204c7 100644 --- a/wms/account-receivable-index.php +++ b/wms/account-receivable-index.php @@ -403,8 +403,9 @@ foreach ($wipwhole_array as $wip) { // real_contract_arrival_date 預計出貨日=預計到貨日=預計貨抵工地 // real_arrival_date 實際出貨日=實際到貨日=實際貨抵工地 //----------------------------------------寶佳的另外處理--------------------------------------------------- - - if ($arrayData[$wip['contractno']]['sign'][0] == "寶佳出貨前30天") { + $sign_status_tmp = !empty($arrayData[$wip['contractno']]['sign'][0]) ? $arrayData[$wip['contractno']]['sign'][0] : null; + if ($sign_status_tmp == "寶佳出貨前30天") { + // if ($arrayData[$wip['contractno']]['sign'][0] == "寶佳出貨前30天") { $facility_status = ""; array_push($arrayData[$wip['contractno']]['total_list'], $wip['facilityno']); $today = strtotime(date('Ymd')); @@ -480,7 +481,9 @@ foreach ($wipwhole_array as $wip) { } $arrayData[$wip['contractno']]['facilities'] .= $facility_status; } else { - $signtime = strtotime($arrayData[$wip['contractno']]['sign'][2]); + $sign_tmp = !empty($arrayData[$wip['contractno']]['sign'][2]) ? $arrayData[$wip['contractno']]['sign'][2] : ''; + $signtime = strtotime($sign_tmp); + // $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; @@ -994,7 +997,7 @@ foreach ($received_array as $received) { //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 4 已收金額 5 催收金額 6 已開發票金額 7 未開發票金額 min 最早應收月份 max 最晚應收月份 foreach ($arrayData as $key => &$data) { - //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 7 已開發票金額 8 未開發票金額 //作番 $facilities = array(); if (isset($data['facility'])) { @@ -1005,7 +1008,6 @@ foreach ($arrayData as $key => &$data) { $tmp_data = $data['received_budget']; $tmp_invoice = $data['invoice_budget']; - //------------------------------------------------------------------------------------------------------------------------------------ if (isset($data['sign'][3]) && $data['sign'][3] > 0) { if ($tmp_data > 0) { if (($tmp_data - $data['sign'][3]) >= 0) { @@ -1019,22 +1021,21 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; $data['facility'][$this_facility]['sign'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['sign'][5] =$data['facility'][$this_facility]['sign'][3] -$data['facility'][$this_facility]['sign'][4]; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = 0; $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = 0; $data['facility'][$this_facility]['sign'][5] = 0; } - if($data['facility'][$this_facility]['sign'][5] == 0){ - $data['facility'][$this_facility]['sign'][6] =0; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; } } } else { @@ -1048,22 +1049,21 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; $data['facility'][$this_facility]['sign'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['sign'][5] =$data['facility'][$this_facility]['sign'][3] -$data['facility'][$this_facility]['sign'][4]; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = 0; $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['sign'][4] = 0; $data['facility'][$this_facility]['sign'][5] = 0; } - if($data['facility'][$this_facility]['sign'][5] == 0){ - $data['facility'][$this_facility]['sign'][6] =0; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; } } } @@ -1071,11 +1071,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['sign'][4] = 0; $data['sign'][5] = $data['sign'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - if($data['facility'][$this_facility]['sign'][5] == 0){ - $data['facility'][$this_facility]['sign'][6] =0; + $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; } } } @@ -1083,14 +1083,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['sign'][3]) >= 0) { $data['sign'][6] = $data['sign'][3]; $tmp_invoice -= $data['sign'][3]; + $tmp_facility_invoice = $data['sign'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][7] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = 0; + } + + } } else { $data['sign'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['sign'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['sign'][3]) { + $data['facility'][$this_facility]['sign'][7] = $data['facility'][$this_facility]['sign'][3]; + $data['facility'][$this_facility]['sign'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['sign'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3]; + } + } else { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = 0; + } + } } $data['sign'][7] = $data['sign'][3] - $data['sign'][6]; } else { $data['sign'][6] = 0; $data['sign'][7] = $data['sign'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['sign'][7] = 0; + $data['facility'][$this_facility]['sign'][8] = $data['facility'][$this_facility]['sign'][3]; + } } } else { $data['sign'][4] = 0; @@ -1111,23 +1160,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; $data['facility'][$this_facility]['second'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; - }else{ + } else { $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['second'][5] =$data['facility'][$this_facility]['second'][3] -$data['facility'][$this_facility]['second'][4]; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['second'][4] = 0; $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['second'][4] = 0; $data['facility'][$this_facility]['second'][5] = 0; - $data['facility'][$this_facility]['second'][6] = 0; + $data['facility'][$this_facility]['second'][6] = 0; } - if($data['facility'][$this_facility]['second'][5] == 0){ - $data['facility'][$this_facility]['second'][6] =0; + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; } } } else { @@ -1141,23 +1189,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; $data['facility'][$this_facility]['second'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; - }else{ + } else { $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['second'][5] =$data['facility'][$this_facility]['second'][3] -$data['facility'][$this_facility]['second'][4]; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['second'][4] = 0; $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['second'][4] = 0; $data['facility'][$this_facility]['second'][5] = 0; - $data['facility'][$this_facility]['second'][6] = 0; + $data['facility'][$this_facility]['second'][6] = 0; } - if($data['facility'][$this_facility]['second'][5] == 0){ - $data['facility'][$this_facility]['second'][6] =0; + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; } } } @@ -1165,27 +1212,75 @@ foreach ($arrayData as $key => &$data) { } else { $data['second'][4] = 0; $data['second'][5] = $data['second'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - if($data['facility'][$this_facility]['second'][5] == 0){ - $data['facility'][$this_facility]['second'][6] =0; + $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; + if ($data['facility'][$this_facility]['second'][5] == 0) { + $data['facility'][$this_facility]['second'][6] = 0; } } - } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['second'][3]) >= 0) { $data['second'][6] = $data['second'][3]; $tmp_invoice -= $data['second'][3]; + $tmp_facility_invoice = $data['second'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][7] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = 0; + } + + } } else { $data['second'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['second'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['second'][3]) { + $data['facility'][$this_facility]['second'][7] = $data['facility'][$this_facility]['second'][3]; + $data['facility'][$this_facility]['second'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['second'][3]; + } else { + $data['facility'][$this_facility]['second'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3]; + } + } else { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = 0; + } + } } $data['second'][7] = $data['second'][3] - $data['second'][6]; } else { $data['second'][6] = 0; $data['second'][7] = $data['second'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['second'][7] = 0; + $data['facility'][$this_facility]['second'][8] = $data['facility'][$this_facility]['second'][3]; + } } } else { $data['second'][4] = 0; @@ -1208,23 +1303,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; $data['facility'][$this_facility]['arrive'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['arrive'][5] =$data['facility'][$this_facility]['arrive'][3] -$data['facility'][$this_facility]['arrive'][4]; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = 0; $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = 0; $data['facility'][$this_facility]['arrive'][5] = 0; - $data['facility'][$this_facility]['arrive'][6] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; } - if($data['facility'][$this_facility]['arrive'][5] == 0){ - $data['facility'][$this_facility]['arrive'][6] =0; + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; } } } else { @@ -1238,23 +1332,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; $data['facility'][$this_facility]['arrive'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['arrive'][5] =$data['facility'][$this_facility]['arrive'][3] -$data['facility'][$this_facility]['arrive'][4]; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = 0; $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['arrive'][4] = 0; $data['facility'][$this_facility]['arrive'][5] = 0; - $data['facility'][$this_facility]['arrive'][6] = 0; + $data['facility'][$this_facility]['arrive'][6] = 0; } - if($data['facility'][$this_facility]['arrive'][5] == 0){ - $data['facility'][$this_facility]['arrive'][6] =0; + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; } } } @@ -1262,11 +1355,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['arrive'][4] = 0; $data['arrive'][5] = $data['arrive'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - if($data['facility'][$this_facility]['arrive'][5] == 0){ - $data['facility'][$this_facility]['arrive'][6] =0; + $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; + if ($data['facility'][$this_facility]['arrive'][5] == 0) { + $data['facility'][$this_facility]['arrive'][6] = 0; } } } @@ -1274,14 +1367,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['arrive'][3]) >= 0) { $data['arrive'][6] = $data['arrive'][3]; $tmp_invoice -= $data['arrive'][3]; + $tmp_facility_invoice = $data['arrive'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][7] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['arrive'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = 0; + } + + } } else { $data['arrive'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['arrive'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['arrive'][3]) { + $data['facility'][$this_facility]['arrive'][7] = $data['facility'][$this_facility]['arrive'][3]; + $data['facility'][$this_facility]['arrive'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['arrive'][3]; + } else { + $data['facility'][$this_facility]['arrive'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3]; + } + } else { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = 0; + } + } } $data['arrive'][7] = $data['arrive'][3] - $data['arrive'][6]; } else { $data['arrive'][6] = 0; $data['arrive'][7] = $data['arrive'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['arrive'][7] = 0; + $data['facility'][$this_facility]['arrive'][8] = $data['facility'][$this_facility]['arrive'][3]; + } } } else { $data['arrive'][4] = 0; @@ -1304,23 +1446,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; $data['facility'][$this_facility]['install'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; - }else{ + } else { $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['install'][5] =$data['facility'][$this_facility]['install'][3] -$data['facility'][$this_facility]['install'][4]; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['install'][4] = 0; $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['install'][4] = 0; $data['facility'][$this_facility]['install'][5] = 0; - $data['facility'][$this_facility]['install'][6] = 0; + $data['facility'][$this_facility]['install'][6] = 0; } - if($data['facility'][$this_facility]['install'][5] == 0){ - $data['facility'][$this_facility]['install'][6] =0; + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; } } } else { @@ -1334,23 +1475,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; $data['facility'][$this_facility]['install'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; - }else{ + } else { $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['install'][5] =$data['facility'][$this_facility]['install'][3] -$data['facility'][$this_facility]['install'][4]; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['install'][4] = 0; $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['install'][4] = 0; $data['facility'][$this_facility]['install'][5] = 0; - $data['facility'][$this_facility]['install'][6] = 0; + $data['facility'][$this_facility]['install'][6] = 0; } - if($data['facility'][$this_facility]['install'][5] == 0){ - $data['facility'][$this_facility]['install'][6] =0; + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; } } } @@ -1358,11 +1498,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['install'][4] = 0; $data['install'][5] = $data['install'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - if($data['facility'][$this_facility]['install'][5] == 0){ - $data['facility'][$this_facility]['install'][6] =0; + $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; + if ($data['facility'][$this_facility]['install'][5] == 0) { + $data['facility'][$this_facility]['install'][6] = 0; } } } @@ -1370,14 +1510,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['install'][3]) >= 0) { $data['install'][6] = $data['install'][3]; $tmp_invoice -= $data['install'][3]; + $tmp_facility_invoice = $data['install'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][7] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = 0; + } + + } } else { $data['install'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['install'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['install'][3]) { + $data['facility'][$this_facility]['install'][7] = $data['facility'][$this_facility]['install'][3]; + $data['facility'][$this_facility]['install'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['install'][3]; + } else { + $data['facility'][$this_facility]['install'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3]; + } + } else { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = 0; + } + } } $data['install'][7] = $data['install'][3] - $data['install'][6]; } else { $data['install'][6] = 0; $data['install'][7] = $data['install'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['install'][7] = 0; + $data['facility'][$this_facility]['install'][8] = $data['facility'][$this_facility]['install'][3]; + } } } else { $data['install'][4] = 0; @@ -1400,23 +1589,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; $data['facility'][$this_facility]['tryrun'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['tryrun'][5] =$data['facility'][$this_facility]['tryrun'][3] -$data['facility'][$this_facility]['tryrun'][4]; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = 0; $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = 0; $data['facility'][$this_facility]['tryrun'][5] = 0; - $data['facility'][$this_facility]['tryrun'][6] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; } - if($data['facility'][$this_facility]['tryrun'][5] == 0){ - $data['facility'][$this_facility]['tryrun'][6] =0; + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; } } } else { @@ -1430,23 +1618,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; $data['facility'][$this_facility]['tryrun'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['tryrun'][5] =$data['facility'][$this_facility]['tryrun'][3] -$data['facility'][$this_facility]['tryrun'][4]; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = 0; $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['tryrun'][4] = 0; $data['facility'][$this_facility]['tryrun'][5] = 0; - $data['facility'][$this_facility]['tryrun'][6] = 0; + $data['facility'][$this_facility]['tryrun'][6] = 0; } - if($data['facility'][$this_facility]['tryrun'][5] == 0){ - $data['facility'][$this_facility]['tryrun'][6] =0; + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; } } } @@ -1454,11 +1641,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['tryrun'][4] = 0; $data['tryrun'][5] = $data['tryrun'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - if($data['facility'][$this_facility]['tryrun'][5] == 0){ - $data['facility'][$this_facility]['tryrun'][6] =0; + $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; + if ($data['facility'][$this_facility]['tryrun'][5] == 0) { + $data['facility'][$this_facility]['tryrun'][6] = 0; } } } @@ -1466,14 +1653,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['tryrun'][3]) >= 0) { $data['tryrun'][6] = $data['tryrun'][3]; $tmp_invoice -= $data['tryrun'][3]; + $tmp_facility_invoice = $data['tryrun'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][7] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = 0; + } + + } } else { $data['tryrun'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['tryrun'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['tryrun'][3]) { + $data['facility'][$this_facility]['tryrun'][7] = $data['facility'][$this_facility]['tryrun'][3]; + $data['facility'][$this_facility]['tryrun'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['tryrun'][3]; + } else { + $data['facility'][$this_facility]['tryrun'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3]; + } + } else { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = 0; + } + } } $data['tryrun'][7] = $data['tryrun'][3] - $data['tryrun'][6]; } else { $data['tryrun'][6] = 0; $data['tryrun'][7] = $data['tryrun'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['tryrun'][7] = 0; + $data['facility'][$this_facility]['tryrun'][8] = $data['facility'][$this_facility]['tryrun'][3]; + } } } else { $data['tryrun'][4] = 0; @@ -1495,23 +1731,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; $data['facility'][$this_facility]['check'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; - }else{ + } else { $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['check'][5] =$data['facility'][$this_facility]['check'][3] -$data['facility'][$this_facility]['check'][4]; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['check'][4] = 0; $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['check'][4] = 0; $data['facility'][$this_facility]['check'][5] = 0; - $data['facility'][$this_facility]['check'][6] = 0; + $data['facility'][$this_facility]['check'][6] = 0; } - if($data['facility'][$this_facility]['check'][5] == 0){ - $data['facility'][$this_facility]['check'][6] =0; + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; } } } else { @@ -1525,23 +1760,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; $data['facility'][$this_facility]['check'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; - }else{ + } else { $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['check'][5] =$data['facility'][$this_facility]['check'][3] -$data['facility'][$this_facility]['check'][4]; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['check'][4] = 0; $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['check'][4] = 0; $data['facility'][$this_facility]['check'][5] = 0; - $data['facility'][$this_facility]['check'][6] = 0; + $data['facility'][$this_facility]['check'][6] = 0; } - if($data['facility'][$this_facility]['check'][5] == 0){ - $data['facility'][$this_facility]['check'][6] =0; + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; } } } @@ -1549,11 +1783,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['check'][4] = 0; $data['check'][5] = $data['check'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - if($data['facility'][$this_facility]['check'][5] == 0){ - $data['facility'][$this_facility]['check'][6] =0; + $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; + if ($data['facility'][$this_facility]['check'][5] == 0) { + $data['facility'][$this_facility]['check'][6] = 0; } } } @@ -1561,14 +1795,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['check'][3]) >= 0) { $data['check'][6] = $data['check'][3]; $tmp_invoice -= $data['check'][3]; + $tmp_facility_invoice = $data['check'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][7] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = 0; + } + + } } else { $data['check'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['check'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['check'][3]) { + $data['facility'][$this_facility]['check'][7] = $data['facility'][$this_facility]['check'][3]; + $data['facility'][$this_facility]['check'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['check'][3]; + } else { + $data['facility'][$this_facility]['check'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3]; + } + } else { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = 0; + } + } } $data['check'][7] = $data['check'][3] - $data['check'][6]; } else { $data['check'][6] = 0; $data['check'][7] = $data['check'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['check'][7] = 0; + $data['facility'][$this_facility]['check'][8] = $data['facility'][$this_facility]['check'][3]; + } } } else { $data['check'][4] = 0; @@ -1589,23 +1872,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; $data['facility'][$this_facility]['delivery'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['delivery'][5] =$data['facility'][$this_facility]['delivery'][3] -$data['facility'][$this_facility]['delivery'][4]; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = 0; $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = 0; $data['facility'][$this_facility]['delivery'][5] = 0; - $data['facility'][$this_facility]['delivery'][6] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; } - if($data['facility'][$this_facility]['delivery'][5] == 0){ - $data['facility'][$this_facility]['delivery'][6] =0; + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; } } } else { @@ -1619,23 +1901,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; $data['facility'][$this_facility]['delivery'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['delivery'][5] =$data['facility'][$this_facility]['delivery'][3] -$data['facility'][$this_facility]['delivery'][4]; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = 0; $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['delivery'][4] = 0; $data['facility'][$this_facility]['delivery'][5] = 0; - $data['facility'][$this_facility]['delivery'][6] = 0; + $data['facility'][$this_facility]['delivery'][6] = 0; } - if($data['facility'][$this_facility]['delivery'][5] == 0){ - $data['facility'][$this_facility]['delivery'][6] =0; + if ($data['facility'][$this_facility]['delivery'][5] == 0) { + $data['facility'][$this_facility]['delivery'][6] = 0; } } } @@ -1643,11 +1924,11 @@ foreach ($arrayData as $key => &$data) { } else { $data['delivery'][4] = 0; $data['delivery'][5] = $data['delivery'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - if($data['facility'][$this_facility]['sign'][5] == 0){ - $data['facility'][$this_facility]['sign'][6] =0; + $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; + if ($data['facility'][$this_facility]['sign'][5] == 0) { + $data['facility'][$this_facility]['sign'][6] = 0; } } } @@ -1655,14 +1936,63 @@ foreach ($arrayData as $key => &$data) { if (($tmp_invoice - $data['delivery'][3]) >= 0) { $data['delivery'][6] = $data['delivery'][3]; $tmp_invoice -= $data['delivery'][3]; + $tmp_facility_invoice = $data['delivery'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][7] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['sign'][3]; + } else { + $data['facility'][$this_facility]['delivery'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = 0; + } + + } } else { $data['delivery'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['delivery'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['delivery'][3]) { + $data['facility'][$this_facility]['delivery'][7] = $data['facility'][$this_facility]['delivery'][3]; + $data['facility'][$this_facility]['delivery'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['delivery'][3]; + } else { + $data['facility'][$this_facility]['delivery'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3]; + } + } else { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = 0; + } + } } $data['delivery'][7] = $data['delivery'][3] - $data['delivery'][6]; } else { $data['delivery'][6] = 0; $data['delivery'][7] = $data['delivery'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['delivery'][7] = 0; + $data['facility'][$this_facility]['delivery'][8] = $data['facility'][$this_facility]['delivery'][3]; + } } } else { $data['delivery'][4] = 0; @@ -1684,23 +2014,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; $data['facility'][$this_facility]['final'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; - }else{ + } else { $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['final'][5] =$data['facility'][$this_facility]['final'][3] -$data['facility'][$this_facility]['final'][4]; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['final'][4] = 0; $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['final'][4] = 0; $data['facility'][$this_facility]['final'][5] = 0; - $data['facility'][$this_facility]['final'][6] = 0; + $data['facility'][$this_facility]['final'][6] = 0; } - if($data['facility'][$this_facility]['final'][5] == 0){ - $data['facility'][$this_facility]['final'][6] =0; + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; } } } else { @@ -1714,23 +2043,22 @@ foreach ($arrayData as $key => &$data) { $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; $data['facility'][$this_facility]['final'][5] = 0; $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; - }else{ + } else { $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['final'][5] =$data['facility'][$this_facility]['final'][3] -$data['facility'][$this_facility]['final'][4]; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; $tmp_facility_received = 0; } - }else{ + } else { $data['facility'][$this_facility]['final'][4] = 0; $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; - } - }else{ + } else { $data['facility'][$this_facility]['final'][4] = 0; $data['facility'][$this_facility]['final'][5] = 0; - $data['facility'][$this_facility]['final'][6] = 0; + $data['facility'][$this_facility]['final'][6] = 0; } - if($data['facility'][$this_facility]['final'][5] == 0){ - $data['facility'][$this_facility]['final'][6] =0; + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; } } } @@ -1738,26 +2066,75 @@ foreach ($arrayData as $key => &$data) { } else { $data['final'][4] = 0; $data['final'][5] = $data['final'][3]; - foreach($facilities as $this_facility){ + foreach ($facilities as $this_facility) { $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; } - if($data['facility'][$this_facility]['final'][5] == 0){ - $data['facility'][$this_facility]['final'][6] =0; + if ($data['facility'][$this_facility]['final'][5] == 0) { + $data['facility'][$this_facility]['final'][6] = 0; } } if ($tmp_invoice > 0) { if (($tmp_invoice - $data['final'][3]) >= 0) { $data['final'][6] = $data['final'][3]; $tmp_invoice -= $data['final'][3]; + $tmp_facility_invoice = $data['final'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][7] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = 0; + } + + } } else { $data['final'][6] = $tmp_invoice; $tmp_invoice = 0; + $tmp_facility_invoice = $data['final'][6]; + foreach ($facilities as $this_facility) { + if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { + if ($tmp_facility_invoice > 0) { + if ($tmp_facility_invoice >= $data['facility'][$this_facility]['final'][3]) { + $data['facility'][$this_facility]['final'][7] = $data['facility'][$this_facility]['final'][3]; + $data['facility'][$this_facility]['final'][8] = 0; + $tmp_facility_invoice -= $data['facility'][$this_facility]['final'][3]; + } else { + $data['facility'][$this_facility]['final'][7] = $tmp_facility_invoice; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][7]; + $tmp_facility_invoice = 0; + } + } else { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3]; + } + } else { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = 0; + } + } } $data['final'][7] = $data['final'][3] - $data['final'][6]; } else { $data['final'][6] = 0; $data['final'][7] = $data['final'][3]; + foreach ($facilities as $this_facility) { + $data['facility'][$this_facility]['final'][7] = 0; + $data['facility'][$this_facility]['final'][8] = $data['facility'][$this_facility]['final'][3]; + } } } else { $data['final'][4] = 0; @@ -1841,54 +2218,58 @@ foreach ($arrayData as $key => $value) { ]; //['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 min 最早應收月份 max 最晚應收月份 - //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 + //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 7 已開發票金額 8 未開發票金額 if (isset($value['facility'])) { foreach ($value['facility'] as $valkey => $val) { foreach ($contractstage as $stage) { $val[$stage][0] = (!(isset($val[$stage][0])) || is_null($val[$stage][0])) ? "-" : $val[$stage][0]; $val[$stage][1] = (!(isset($val[$stage][1])) || is_null($val[$stage][1])) ? 0 : $val[$stage][1]; - $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : $val[$stage][2]; + $val[$stage][2] = (!(isset($val[$stage][2])) || is_null($val[$stage][2])) ? "-" : ($val[$stage][2] =="19700101"?"-":$val[$stage][2]); $val[$stage][3] = (!(isset($val[$stage][3])) || is_null($val[$stage][3])) ? 0 : $val[$stage][3]; $val[$stage][4] = (!(isset($val[$stage][4])) || is_null($val[$stage][4])) ? 0 : $val[$stage][4]; $val[$stage][5] = (!(isset($val[$stage][5])) || is_null($val[$stage][5])) ? 0 : $val[$stage][5]; $val[$stage][6] = (!(isset($val[$stage][6])) || is_null($val[$stage][6])) ? 0 : $val[$stage][6]; + $val[$stage][7] = (!(isset($val[$stage][7])) || is_null($val[$stage][7])) ? 0 : $val[$stage][7]; + $val[$stage][8] = (!(isset($val[$stage][8])) || is_null($val[$stage][8])) ? 0 : $val[$stage][8]; } $facility_array[$valkey] = [ $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])),number_format(round($val['sign'][5])),number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])),number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])),number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])),number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])),number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])),number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])),number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])),number_format(round($val['final'][5])), number_format(round($val['final'][6])), str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) ]; - if ($value['sign'][0] == "寶佳出貨前30天") { + $sign_status_tmp = !empty($value['sign'][0]) ? $value['sign'][0] : null; + if ($sign_status_tmp == "寶佳出貨前30天") { + // if ($value['sign'][0] == "寶佳出貨前30天") { $facility_boga_array[$valkey] = [ $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])),number_format(round($val['sign'][5])),number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])),number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])),number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])),number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])),number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])),number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])),number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])),number_format(round($val['final'][5])), number_format(round($val['final'][6])), str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) ]; } else { $facility_exclude_boga_array[$valkey] = [ $value[9], $valkey, $key, $value[1], $value[2], $value[4], $value[5], $value[7], $value[8], $value[6], - $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][4])), number_format(round($val['sign'][5])), number_format(round($val['sign'][6])), - $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][4])), number_format(round($val['second'][5])), number_format(round($val['second'][6])), - $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][4])), number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), - $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][4])), number_format(round($val['install'][5])), number_format(round($val['install'][6])), - $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][4])), number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), - $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][4])), number_format(round($val['check'][5])), number_format(round($val['check'][6])), - $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][4])), number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), - $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][4])), number_format(round($val['final'][5])), number_format(round($val['final'][6])), + $val['sign'][0], number_format(round($val['sign'][1])), $val['sign'][2], number_format(round($val['sign'][3])), number_format(round($val['sign'][7])), number_format(round($val['sign'][8])), number_format(round($val['sign'][4])),number_format(round($val['sign'][5])),number_format(round($val['sign'][6])), + $val['second'][0], number_format(round($val['second'][1])), $val['second'][2], number_format(round($val['second'][3])), number_format(round($val['second'][7])), number_format(round($val['second'][8])), number_format(round($val['second'][4])),number_format(round($val['second'][5])), number_format(round($val['second'][6])), + $val['arrive'][0], number_format(round($val['arrive'][1])), $val['arrive'][2], number_format(round($val['arrive'][3])), number_format(round($val['arrive'][7])), number_format(round($val['arrive'][8])), number_format(round($val['arrive'][4])),number_format(round($val['arrive'][5])), number_format(round($val['arrive'][6])), + $val['install'][0], number_format(round($val['install'][1])), $val['install'][2], number_format(round($val['install'][3])), number_format(round($val['install'][7])), number_format(round($val['install'][8])), number_format(round($val['install'][4])),number_format(round($val['install'][5])), number_format(round($val['install'][6])), + $val['tryrun'][0], number_format(round($val['tryrun'][1])), $val['tryrun'][2], number_format(round($val['tryrun'][3])), number_format(round($val['tryrun'][7])), number_format(round($val['tryrun'][8])), number_format(round($val['tryrun'][4])),number_format(round($val['tryrun'][5])), number_format(round($val['tryrun'][6])), + $val['check'][0], number_format(round($val['check'][1])), $val['check'][2], number_format(round($val['check'][3])), number_format(round($val['check'][7])), number_format(round($val['check'][8])), number_format(round($val['check'][4])),number_format(round($val['check'][5])), number_format(round($val['check'][6])), + $val['delivery'][0], number_format(round($val['delivery'][1])), $val['delivery'][2], number_format(round($val['delivery'][3])), number_format(round($val['delivery'][7])), number_format(round($val['delivery'][8])), number_format(round($val['delivery'][4])),number_format(round($val['delivery'][5])), number_format(round($val['delivery'][6])), + $val['final'][0], number_format(round($val['final'][1])), $val['final'][2], number_format(round($val['final'][3])), number_format(round($val['final'][7])), number_format(round($val['final'][8])), number_format(round($val['final'][4])),number_format(round($val['final'][5])), number_format(round($val['final'][6])), str_replace('
', '; ', $val['status']), number_format(round($val['A40001'])), number_format(round($val['A40008'])), number_format(round($val['total_budget'])), number_format(round($val['receivable_budget'])) ]; } @@ -1916,6 +2297,9 @@ $facility_exclude_boga_data = json_encode($facility_exclude_boga_array); td { word-wrap: break-word; } + th{ + text-align: center; + } img { width: 125px; @@ -2010,101 +2394,203 @@ include "./footer.php"; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $value) { + foreach ($facility_array as $key => $value) { ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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"; + } } - $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']])) { @@ -220,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; } /* 計算比例 @@ -256,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; } -foreach ($arrayData as $data) { - print_r($data); - echo "
"; + +// 整理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 $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 催收次數 @@ -308,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); @@ -815,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/account-receivable-test.xlsx b/wms/account-receivable-test.xlsx index dc64489a..f6ea6efb 100644 Binary files a/wms/account-receivable-test.xlsx and b/wms/account-receivable-test.xlsx differ diff --git a/wms/contract-repair/api/bpmAPI.php b/wms/contract-repair/api/bpmAPI.php index b6b686be..a6d9d76e 100644 --- a/wms/contract-repair/api/bpmAPI.php +++ b/wms/contract-repair/api/bpmAPI.php @@ -1,4 +1,6 @@ execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); // echo '
';
-// print_r(json_encode($result));
+// print_r($result);
 // echo '
'; -return json_encode($result); +echo json_encode($result, JSON_UNESCAPED_UNICODE); diff --git a/wms/contract-repair/api/putContractData.php b/wms/contract-repair/api/putContractData.php index 1b960e02..05417f59 100644 --- a/wms/contract-repair/api/putContractData.php +++ b/wms/contract-repair/api/putContractData.php @@ -56,7 +56,7 @@ if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_PO // echo json_encode($sql); // exit; $stmt->execute(); - t8Insert($_POST); + // t8Insert($_POST); // header("HTTP/1.1 204 NO Content"); $conn->commit(); @@ -67,49 +67,50 @@ if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_PO } } -function t8Insert($data) -{ - require_once('../../contract/connt8.php'); - $create_date = date('Y-m-dH-i-s'); - $repair_no = !empty($data['repair_no']) ? $data['repair_no'] : null; // 報價單號 - $company = !empty($data['company']) ? $data['company'] : null; //立約人 - $repaireid = !empty($data['repaireid']) ? $data['repaireid'] : null; //維保人員 - $facilityno = !empty($data['facilityno']) ? $data['facilityno'] : null; // 電梯編號 - $type = !empty($data['type']) ? $data['type'] : null; //工程進度 - $sign_date = !empty($data['sign_date']) ? $data['sign_date'] : null; //簽訂時間 - $invoice = !empty($data['invoice']) ? $data['invoice'] : null; // 發票抬頭 - $taxid = !empty($data['taxid']) ? $data['taxid'] : null; //統編 - $address = !empty($data['address']) ? $data['address'] : null; //工程地址 - $contract_status = !empty($data['contract_status']) ? $data['contract_status'] : null; - $user_id = !empty($_data['user_id']) ? $data['user_id'] : null; +// 塞保養合約進T8的 API function +// function t8Insert($data) +// { +// require_once('../../contract/connt8.php'); +// $create_date = date('Y-m-dH-i-s'); +// $repair_no = !empty($data['repair_no']) ? $data['repair_no'] : null; // 報價單號 +// $company = !empty($data['company']) ? $data['company'] : null; //立約人 +// $repaireid = !empty($data['repaireid']) ? $data['repaireid'] : null; //維保人員 +// $facilityno = !empty($data['facilityno']) ? $data['facilityno'] : null; // 電梯編號 +// $type = !empty($data['type']) ? $data['type'] : null; //工程進度 +// $sign_date = !empty($data['sign_date']) ? $data['sign_date'] : null; //簽訂時間 +// $invoice = !empty($data['invoice']) ? $data['invoice'] : null; // 發票抬頭 +// $taxid = !empty($data['taxid']) ? $data['taxid'] : null; //統編 +// $address = !empty($data['address']) ? $data['address'] : null; //工程地址 +// $contract_status = !empty($data['contract_status']) ? $data['contract_status'] : null; +// $user_id = !empty($_data['user_id']) ? $data['user_id'] : null; - $sign = str_replace("-", '', $sign_date); - $create = str_replace('-', '', $create_date); +// $sign = str_replace("-", '', $sign_date); +// $create = str_replace('-', '', $create_date); - $sql = "INSERT INTO comBusinessPartner - (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,BizToDate,TaxNo,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId) - VALUES(:BizPartnerId,:BizPartnerName,1,'TW',99999999,:TaxNo,:ContactAddress,:CreatorId,:CreateTime,'10')"; - $stmt = $connT8->prepare($sql); - $stmt->bindParam(':BizPartnerId', $repair_no); //報價單編號 - $stmt->bindParam(':BizPartnerName', $company); - $stmt->bindParam(':TaxNo', $taxid); - $stmt->bindParam(':ContactAddress', $address); - $stmt->bindParam(':CreatorId', $user_id); - $stmt->bindParam(':CreateTime', $create); - $stmt->execute(); +// $sql = "INSERT INTO comBusinessPartner +// (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,BizToDate,TaxNo,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId) +// VALUES(:BizPartnerId,:BizPartnerName,1,'TW',99999999,:TaxNo,:ContactAddress,:CreatorId,:CreateTime,'10')"; +// $stmt = $connT8->prepare($sql); +// $stmt->bindParam(':BizPartnerId', $repair_no); //報價單編號 +// $stmt->bindParam(':BizPartnerName', $company); +// $stmt->bindParam(':TaxNo', $taxid); +// $stmt->bindParam(':ContactAddress', $address); +// $stmt->bindParam(':CreatorId', $user_id); +// $stmt->bindParam(':CreateTime', $create); +// $stmt->execute(); - $sql = "INSERT INTO comCustomer - (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime) - VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime)"; - $stmt = $connT8->prepare($sql); - $stmt->bindParam(':BizPartnerId', $repair_no); - $stmt->bindParam(':PersonId', $salesman); - $stmt->bindParam(':CreatorId', $user_id); - $stmt->bindParam(':InvoiceAddress', $address); - $stmt->bindParam(':CreateTime', $create); - $stmt->execute(); +// $sql = "INSERT INTO comCustomer +// (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime) +// VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime)"; +// $stmt = $connT8->prepare($sql); +// $stmt->bindParam(':BizPartnerId', $repair_no); +// $stmt->bindParam(':PersonId', $salesman); +// $stmt->bindParam(':CreatorId', $user_id); +// $stmt->bindParam(':InvoiceAddress', $address); +// $stmt->bindParam(':CreateTime', $create); +// $stmt->execute(); - $sql = "INSERT INTO "; +// $sql = "INSERT INTO "; - $connT8->commit(); -} +// $connT8->commit(); +// } diff --git a/wms/contract-repair/contract-repair-input.php b/wms/contract-repair/contract-repair-input.php index 525e7ab3..67c069e4 100644 --- a/wms/contract-repair/contract-repair-input.php +++ b/wms/contract-repair/contract-repair-input.php @@ -78,6 +78,7 @@ $contract_stauts = ["合約簽回", "採購", "工程發包", "工程中", "修

未填寫

+ +
作番號 合約號 部門 經理 營業員客戶名稱簽約款應收簽約金額簽約最小催收次數簽約最大催收次數二次款應收二次金額二次最小催收次數二次最大催收次數貨抵工地款應收貨抵工地金額貨抵工地最小催收次數貨抵工地最大催收次數安裝款應收安裝金額安裝最小催收次數安裝最大催收次數試車款應收試車金額試車最小催收次數試車最大催收次數官檢款應收官檢金額官檢最小催收次數官檢最大催收次數移交款應收移交金額移交最小催收次數移交最大催收次數尾款應收尾款金額尾款最小催收次數尾款最大催收次數合約總金額目前應收已開發票金額已收金額收款狀態客戶名稱訂金
名稱
訂金
合約金額
訂金
應收日期
訂金
應收金額
訂金
已開金額
訂金
未開金額
訂金
已收金額
訂金
催收金額
訂金
催收次數
二次款
名稱
二次款
合約金額
二次款
應收日期
二次款
應收金額
二次款
已開金額
二次款
未開金額
二次款
已收金額
二次款
催收金額
二次款
催收次數
貨抵工地款
名稱
貨抵工地款
合約金額
貨抵工地款
應收日期
貨抵工地款
應收金額
貨抵工地款
已開金額
貨抵工地款
未開金額
貨抵工地款
已收金額
貨抵工地款
催收金額
貨抵工地款
催收次數
安裝款
名稱
安裝款
合約金額
安裝款
應收日期
安裝款
應收金額
安裝款
已開金額
安裝款
未開金額
安裝款
已收金額
安裝款
催收金額
安裝款
催收次數
試車款
名稱
試車款
合約金額
試車款
應收日期
試車款
應收金額
試車款
已開金額
試車款
未開金額
試車款
已收金額
試車款
催收金額
試車款
催收次數
官檢款
名稱
官檢款
合約金額
官檢款
應收日期
官檢款
應收金額
官檢款
已開金額
官檢款
未開金額
官檢款
已收金額
官檢款
催收金額
官檢款
催收次數
交車款
名稱
交車款
合約金額
交車款
應收日期
交車款
應收金額
交車款
已開金額
交車款
未開金額
交車款
已收金額
交車款
催收金額
交車款
催收次數
尾款
名稱
尾款
合約金額
尾款
應收日期
尾款
應收金額
尾款
已開金額
尾款
未開金額
尾款
已收金額
尾款
催收金額
尾款
催收次數
作番狀態合約-設備金額合約-安裝金額作番總金額作番目前應收
維保人員

diff --git a/wms/contract/api/T8salIncomeApply.php b/wms/contract/api/T8salIncomeApply.php index b0f4e018..96246a7c 100644 --- a/wms/contract/api/T8salIncomeApply.php +++ b/wms/contract/api/T8salIncomeApply.php @@ -39,3 +39,35 @@ function T8API($data) curl_close($ch); } // T8API($data); + +function pending($user_id, $token) +{ + $api_url = 'localhost:3000/wms/frame/api_getdata'; + $data = [ + 'p' => 'pending', + 'token' => $token + ]; + $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); // 使用 POST + 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); + // 若 API 傳入失敗。 + if ($result['Status'] == 'Erroe') { + echo 'API傳入失敗,' . $result['ErrorMsg']; + return $result; + } else { + echo '

';
+            print_r($result);
+            echo '
'; + return $result; + } + } +} diff --git a/wms/contract/api/postContractData.php b/wms/contract/api/postContractData.php index 3b00d2a9..d9b9f8b8 100644 --- a/wms/contract/api/postContractData.php +++ b/wms/contract/api/postContractData.php @@ -524,29 +524,34 @@ function T8insert($data, $facilityno) // 分期代碼計算 $IncomeId = [ - 'A40006' => 1, - 'A40007' => 4, - 'A40003' => 12, - 'A40004' => 6, - 'A40005' => 2 + 'A40006' => 1, //年繳 + 'A40007' => 4, //季繳 + 'A40003' => 12, //月繳 + 'A40004' => 6, //雙月繳 + 'A40005' => 2 //半年繳 ]; //分幾期 => 總共保養月 / 分期月 $SQuantity = $elevator['maintain_months'] / $IncomeId[$payType]; // 依每台電梯去加入各個的付款項 - for ($i = 1; $i <= $IncomeId[$payType]; $i++) { + for ($i = 0; $i < $IncomeId[$payType]; $i++) { + // 計算分期款的收款月份 + $paymonth = $i * $SQuantity; + $payday = date('Y-m-d', strtotime("$date_1 + $paymonth months")); + $rows_data = [ "BillNo" => "$contractno", "IncomeId" => "$payType", "TaxId" => "ST005", - "RowCode" => $i, - "RowNo" => $i, + "RowCode" => $i + 1, + "RowNo" => $i + 1, "ItemType" => 1, "SPrice" => $elevator['sold_price'], "SQuantity" => $SQuantity, "ProjectId" => "$contractno", "FromSourceTag" => 0, - "CU_MaterialId" => "$facilityno[$index]" + "CU_MaterialId" => "$facilityno[$index]", + "CU_EstPayDate" => "$payday" ]; $salIncomeApplyDetail_rows[] = $rows_data; } diff --git a/wms/contract/api/testT8API.php b/wms/contract/api/testT8API.php index d9481e16..3718df5d 100644 --- a/wms/contract/api/testT8API.php +++ b/wms/contract/api/testT8API.php @@ -1,109 +1,14 @@ -  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   
   
  
-
公式加載
-
-
-
-
    -
  • -

    -
  • -
  • -

    -
  • -
  • -

    -
  • -
-
-
-
  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-      -
-
請選擇要上傳的文件
-
-
圖片上傳
-
-
-
-
- - - - - - - - - -
-
  
-
-
-
全選
刪除 -
-
添加行上移下移
-
批量導出批量導入
-
-
-
  
\ No newline at end of file +'; + print_r($date1); + echo ''; +} 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/css/function.js b/wms/css/function.js index 0f786e08..2f28f699 100644 --- a/wms/css/function.js +++ b/wms/css/function.js @@ -330,6 +330,7 @@ function login() { password: password }, success: function (data) { + // console.log(data); console.log('返回的结果'); res = eval("(" + data + ")"); console.log(res); @@ -340,17 +341,12 @@ function login() { var name = res.name; var login = res.login; var menu = res.menu; - - var queryString = window.location.search; - var params = new URLSearchParams(queryString); - var redirect = params.get('redirect'); - + //console.log(token); + //window.localStorage.setItem("token",token); + //window.localStorage.setItem("name",name); + //window.localStorage.setItem("login",login); window.localStorage.setItem("menu_" + res.uid, menu); - if (redirect == '' || redirect == 'null' || redirect == null) { - window.location.href = 'index.php?token=' + token; - } else { - window.location.href = decodeURIComponent(redirect) + '&token=' + token; - } + window.location.href = 'index.php?token=' + token; } else { window.location.href = 'login.php?errno=1'; } diff --git a/wms/excel-upload.php b/wms/excel-upload.php index 222c585b..f9f1bece 100644 --- a/wms/excel-upload.php +++ b/wms/excel-upload.php @@ -3,6 +3,7 @@ include "header.php"; require_once 'PHPExcel/PHPExcel.php'; require_once 'PHPExcel/IOFactory.php'; + $file_name = $_FILES["fileToUpload"]["name"]; $temp_file_name = $_FILES["fileToUpload"]["tmp_name"]; $target_dir = "excel-uploads/"; diff --git a/wms/frame/api_getdata.php b/wms/frame/api_getdata.php index c19b8758..cfcee966 100644 --- a/wms/frame/api_getdata.php +++ b/wms/frame/api_getdata.php @@ -22,7 +22,7 @@ */ $json = array("st" => "ok", "err" => "", "errCode" => ""); - +echo '123'; /** * 表單列表 */ @@ -220,3 +220,4 @@ try { } echo json_encode($json, JSON_UNESCAPED_UNICODE); +return json_encode($json, JSON_UNESCAPED_UNICODE); diff --git a/wms/frame/pending.php b/wms/frame/pending.php index c98d40df..10a142dd 100644 --- a/wms/frame/pending.php +++ b/wms/frame/pending.php @@ -3,134 +3,107 @@ $token = $_REQUEST["token"]; ?> - - - - 待我簽核 - - - - - + + +待我簽核 + + + + + -
-
-
- -
-
-
-
- - - - 待我簽核 -
-
-
- Loading... -
-
+
+
+ +
+
+
+
+ 待我簽核
+
+
+ Loading...
-
- -
+
+ +
+ +
- + }) +} + - \ No newline at end of file diff --git a/wms/fun_global.php b/wms/fun_global.php index b468f413..436a91e8 100644 --- a/wms/fun_global.php +++ b/wms/fun_global.php @@ -83,13 +83,12 @@ function manage_class($user_id, &$ret = []) * @return array * */ -function pricereview_class($rate, $user_id, &$ret = [], $special_fee) +function pricereview_class($rate, $user_id, &$ret = [], $special_fee, $i = 0) { global $link; $sql = "select manager from account where accountid = '$user_id'"; $res = mysqli_query($link, $sql); - $i = 0; while ($row = mysqli_fetch_assoc($res)) { if ($row["manager"] == "M0001") return; // 董事長略過 if ($user_id == 'TEST01') { @@ -100,31 +99,31 @@ function pricereview_class($rate, $user_id, &$ret = [], $special_fee) return $ret; exit; } else { + // 若為第一層且使用者ID為區經理,直接訂好接下來的簽核人員並跳出。 if ($i == 0 && ($user_id == 'M0033' || $user_id == "M0137" || $user_id == 'M0029' || $user_id == 'M0054' || $user_id == "M0086")) { $ret[1] = $user_id . ",,"; - $ret[2] = "M0024,,<##>M0107,,"; // 業務部專員:M0024許伃廷、M0107許紓晴(第2關有多位審核人) + $ret[2] = "M0175,,<##>M0107,,"; // 業務部專員:M0175陳君敏、M0107許紓晴(第2關有多位審核人) $ret[3] = "M0060,,"; // 業務協理 if ($rate < 80 || $special_fee > 0) { $ret[4] = "M0006,,"; // 總經理 } return $ret; - exit(); + exit; } if ($row["manager"] != "M0060" && $row["manager"] != "M0006" && $row["manager"] != "M0008") { + // 新梯的部分 桃竹本該給陳家文,改為劉永德 if ($row["manager"] == 'M0029') { - $ret[1] = "M0147,,"; + $ret[1] = "M0137,,"; $i++; - pricereview_class($rate, $row["manager"], $ret, $special_fee); + pricereview_class($rate, $row["manager"], $ret, $special_fee, $i); } else { $ret[1] = $row["manager"] . ",,"; $i++; - pricereview_class($rate, $row["manager"], $ret, $special_fee); + pricereview_class($rate, $row["manager"], $ret, $special_fee, $i); } } else { - // if ($user_id == 'M0033' || $user_id == 'M0137' || $user_id == 'M0029' || $user_id == 'M0054' || $user_id == 'M0086') { - // $ret[1] = $user_id . ",,"; - // } - $ret[2] = "M0024,,<##>M0107,,"; // 業務部專員:M0024許伃廷、M0107許紓晴(第2關有多位審核人) + + $ret[2] = "M0175,,<##>M0107,,"; // 業務部專員:M0175陳君敏、M0107許紓晴(第2關有多位審核人) $ret[3] = "M0060,,"; // 業務協理 if ($rate < 80 || $special_fee > 0) { $ret[4] = "M0006,,"; // 總經理 @@ -152,48 +151,28 @@ function pricereview_renovate_class($rate, $user_id, $renovate_flag) $res = mysqli_query($link, $sql); if ($row = mysqli_fetch_assoc($res)) { if ($row["manager"] == "M0001") return; // 董事長略過 - if ($row["manager"] == "TEST04" || $user_id == 'TEST01') { - $ret[1] = "test04,,"; - $ret[2] = "test02,,"; - $ret[3] = "test03,,"; - $ret[4] = "test05,,"; - return $ret; - exit(); + if ($row["manager"] != "M0060" && $row["manager"] != "M0006" && $row["manager"] != "M0008") { + $ret[1] = $row["manager"]; } else { - if ($row["manager"] != "M0060" && $row["manager"] != "M0006" && $row["manager"] != "M0008") { - $ret[1] = $row["manager"]; - } else { - $ret[1] = $user_id; - } + $ret[1] = $user_id; } } // $ret[1] = "M0029"; - mysqli_free_result($res); + $ret[2] = 'M0012'; if ($renovate_flag == "REN") { // $ret[2] = 'M0012'; if ($rate <= 100) $ret[3] = "M0008"; // 詹總 - if ($rate < 75) $ret[4] = "M0006"; // 總經理 + if ($rate < 80) $ret[4] = "M0006"; // 總經理 } else { // 全汰改 if ($rate <= 100) $ret[3] = "M0008"; // 詹總 - if ($rate < 75) $ret[4] = "M0006"; // 總經理 + if ($rate < 80) $ret[4] = "M0006"; // 總經理 } - + mysqli_free_result($res); return $ret; } -/** - * 汰改(契約)價審簽核順位 - * @param string $rate:破價比 - * @param string $user_id:使用者ID - * @param string $renovate_flag:REN=M1改 - * @return array - * - */ -function pricereview_maintainance_class($rate, $user_id, $renovate_flag) -{ -} /** * 檢查使用者選單權限 * @@ -257,7 +236,7 @@ function accountid2name() global $link; $arr = []; - $sql = "select accountid, name from account where 1=1"; + $sql = "select accountid, name from account where accounttype in ('B','E','M')"; $res = mysqli_query($link, $sql); while ($row = mysqli_fetch_row($res)) { $arr[$row[0]] = $row[1]; diff --git a/wms/mkt/assets/js/alpine.js b/wms/mkt/assets/js/alpine.js index adbed315..d28a3f3f 100644 --- a/wms/mkt/assets/js/alpine.js +++ b/wms/mkt/assets/js/alpine.js @@ -199,7 +199,6 @@ const pricereviewOptionSelect = () => { init() { this.optionCategory = 0 this.initButtons(); - console.log(this.options) }, options: options, orioptions: options, @@ -253,20 +252,22 @@ const pricereviewOptionSelect = () => { }, optionSubCategory: 1, changeCategory(category, subcategory = 0) { + // console.log(this.$refs.selectModalBody); + this.initButtons(category) this.kind = (category == 'sub') ? this.kind : category; - if (subcategory != 0) { this.subkind = subcategory } else { this.subkind = 0 } - if (category == 0) { this.kind = 0; this.subkind = 0; } - this.initButtons(category) + this.searchtext = "" this.reloadOptions(); + + }, reloadOptions() { if (this.kind == 0) { @@ -274,23 +275,40 @@ const pricereviewOptionSelect = () => { return; } if (this.subkind == 0) { - this.options = this.orioptions.filter(option => option.kind == this.kind) + this.options.forEach(option =>{ + if (option.kind == this.kind) { + option.status = "Y" + }else{ + option.status = "H" + } + }) return; } - this.options = this.orioptions.filter(option => option.kind == this.kind && option.subkind == this.subkind) + this.options.forEach(option => { + if(option.kind == this.kind && option.subkind == this.subkind){ + option.status = "Y" + }else{ + option.status = "H" + } + }) }, searchOptions(e) { + e = null; + this.options = this.orioptions this.reloadOptions(); - let val = e.target.value.toLowerCase() - this.options = (this.options).filter(option=>{ + let val = (e== null) ? this.searchtext.toLowerCase() : e.target.value.toLowerCase() + this.options.forEach(option=>{ if(option.group_name == null) option.group_name = '' if(option.spec == null) option.spec = '' if(option.memo == null) option.memo = '' if(option.price == null) option.price = 0 if(option.unit == null) option.unit = '' - return option.group_name.includes(val) || option.memo.toLowerCase().includes(val) || option.spec.toLowerCase().includes(val) || option.unit.includes(val) || String(option.price).includes(val) + if(option.group_name.includes(val) || option.memo.toLowerCase().includes(val) || option.spec.toLowerCase().includes(val) || option.unit.includes(val) || String(option.price).includes(val)){ + option.status = "Y" + }else{ + option.status = "N" + } }) - } - + }, } } \ No newline at end of file diff --git a/wms/mkt/price_normal-index.php b/wms/mkt/price_normal-index.php index daa4ef37..acd7b3af 100644 --- a/wms/mkt/price_normal-index.php +++ b/wms/mkt/price_normal-index.php @@ -39,6 +39,7 @@ include "../header.php";
+ 下載電子檔(小機房) @@ -369,6 +371,7 @@ include "../header.php";
+ 下載電子檔(小電梯) @@ -532,6 +536,7 @@ include "../header.php";
+ 下載電子檔(小機房貨梯) @@ -653,6 +658,7 @@ include "../header.php";
+ 下載電子檔(平台梯) diff --git a/wms/mkt/price_option-index.php b/wms/mkt/price_option-index.php index 05388f59..ecf0afa6 100644 --- a/wms/mkt/price_option-index.php +++ b/wms/mkt/price_option-index.php @@ -67,6 +67,7 @@ $optional_arr = [1 => '標', 2 => '選'];
+ @@ -88,6 +89,7 @@ $optional_arr = [1 => '標', 2 => '選'];
ID 名稱 規格 備註