|
|
@ -316,19 +316,19 @@ foreach ($contract_budget_data as $cont) { |
|
|
|
switch ($cont['MaterialId']) { |
|
|
|
case 'A40002': |
|
|
|
$sum_A40002 += $cont['OAmountWithTax']; |
|
|
|
$sum_facility_A40002 +=1; |
|
|
|
$sum_facility_A40002 += 1; |
|
|
|
break; |
|
|
|
case 'A40009': |
|
|
|
$sum_A40009 += $cont['OAmountWithTax']; |
|
|
|
$sum_facility_A40009 +=1; |
|
|
|
$sum_facility_A40009 += 1; |
|
|
|
break; |
|
|
|
case 'A40010': |
|
|
|
$sum_A40010 += $cont['OAmountWithTax']; |
|
|
|
$sum_facility_A40010 +=1; |
|
|
|
$sum_facility_A40010 += 1; |
|
|
|
break; |
|
|
|
case 'A40019': |
|
|
|
$sum_A40019 += $cont['OAmountWithTax']; |
|
|
|
$sum_facility_A40019 +=1; |
|
|
|
$sum_facility_A40019 += 1; |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
@ -470,7 +470,7 @@ foreach ($wipwhole_array as $wip) { |
|
|
|
} |
|
|
|
|
|
|
|
// 整理arrayData[合約]['PayStage']進 (新增) arrayData[合約]['facility'][作番號][PayStage] |
|
|
|
$sign_array = ['訂金', '簽約', '合約']; |
|
|
|
$sign0 = array('簽約', '簽訂', '合約簽訂', '訂金', '訂金款', '訂金'); |
|
|
|
// 將所有facility的paystage放入一個array以便計算順序 |
|
|
|
$allPayStages = []; |
|
|
|
foreach ($arrayData as &$value) { |
|
|
@ -490,31 +490,43 @@ foreach ($arrayData as &$value) { |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
break; |
|
|
|
case (stristr($facility['PayStage'][$stage]['name'], '貨抵工地')): |
|
|
@ -522,9 +534,14 @@ foreach ($arrayData as &$value) { |
|
|
|
$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'])); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
break; |
|
|
|
case (in_array($facility['PayStage'][$stage]['name'], $sign0)): |
|
|
|
break; |
|
|
|
default: |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
break; |
|
|
|
}; |
|
|
|
|
|
|
@ -537,36 +554,48 @@ foreach ($arrayData as &$value) { |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['tryrun_end_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['delivery_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['install_end_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
break; |
|
|
|
case (stristr($facility['PayStage'][$stage]['name'], '貨抵工地')): |
|
|
@ -576,9 +605,12 @@ foreach ($arrayData as &$value) { |
|
|
|
} 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)) - 1; |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = date("Ymd", strtotime("+ $haveNumber months", strtotime($wipwhole_status[$fakey]['real_contract_arrival_date']))); |
|
|
|
} else { |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
$facility['PayStage'][$stage]['PlanPayDate'] = NULL; |
|
|
|
break; |
|
|
|
}; |
|
|
|
default: |
|
|
@ -684,20 +716,22 @@ foreach ($final_paystage as $key => &$payStage) { |
|
|
|
// 0 部門id 1 部門名稱 2 經理名稱 3 營業員id 4 營業員名稱 5 客戶名稱 6 抬頭 7 統編 8 通訊地址 9 T8單據日期 10 合約號 |
|
|
|
// 0 合約號 1 作番號 2 部門id 3 部門名稱 4 經理名稱 5 營業員id 6 營業員名稱 7 客戶名稱 8 抬頭 9 統編 10 通訊地址 |
|
|
|
// 11 收款階段名稱 12 應收日期 13 收款金額 14 已開金額 15 已收金額 16 催收次數 |
|
|
|
|
|
|
|
$table = ""; |
|
|
|
$excel_aray = array(); |
|
|
|
$print_array = array(); |
|
|
|
$today = strtotime(date('Ymt')); |
|
|
|
foreach ($arrayData as $key => $value) { |
|
|
|
if (isset($final_paystage[$key])) { |
|
|
|
for ($sequence = 1; $sequence <= count($final_paystage[$key]); $sequence++) { |
|
|
|
if(!is_null($value['ManagerId']) && $value['ManagerId'] !==''){ |
|
|
|
if (!is_null($value['ManagerId']) && $value['ManagerId'] !== '') { |
|
|
|
$managerId = $value['ManagerId']; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
$managerId = $value[11]; |
|
|
|
} |
|
|
|
if(!is_null($value['ManagerName']) && $value['ManagerName'] !==''){ |
|
|
|
if (!is_null($value['ManagerName']) && $value['ManagerName'] !== '') { |
|
|
|
$managerName = $value['ManagerName']; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
$managerName = $value[2]; |
|
|
|
} |
|
|
|
$value[4] = (isset($value[4]) && !empty($value[4])) ? $value[4] : '--'; |
|
|
@ -709,9 +743,16 @@ foreach ($arrayData as $key => $value) { |
|
|
|
$value[12] = (isset($value[12]) && !empty($value[12])) ? date('Y/m/d', strtotime($value[12])) : '--'; |
|
|
|
$thisPayStage = $final_paystage[$key][$sequence]; |
|
|
|
$keyname = $key . "_" . $final_paystage[$key][$sequence]['facilityno'] . "_" . $sequence; |
|
|
|
$havetopay = ($today >= strtotime($final_paystage[$key][$sequence]['PlanPayDate'])) ? "V" : "--"; |
|
|
|
if (isset($final_paystage[$key][$sequence]['PlanPayDate']) && !empty($final_paystage[$key][$sequence]['PlanPayDate']) && $final_paystage[$key][$sequence]['PlanPayDate'] !== NULL) { |
|
|
|
$havetopay = ($today >= strtotime($final_paystage[$key][$sequence]['PlanPayDate'])) ? "V" : "--"; |
|
|
|
} else { |
|
|
|
$havetopay = "--"; |
|
|
|
} |
|
|
|
|
|
|
|
$table_hadtopay = 0; |
|
|
|
switch ($havetopay) { |
|
|
|
case "V": |
|
|
|
$table_hadtopay = 1; |
|
|
|
$unInvoiceAmount = $final_paystage[$key][$sequence]['PayAmount'] - $final_paystage[$key][$sequence]['InvoiceAmount']; |
|
|
|
$unReceivedAmount = $final_paystage[$key][$sequence]['PayAmount'] - $final_paystage[$key][$sequence]['receivedAmount']; |
|
|
|
break; |
|
|
@ -720,10 +761,15 @@ foreach ($arrayData as $key => $value) { |
|
|
|
$unReceivedAmount = 0; |
|
|
|
break; |
|
|
|
} |
|
|
|
if (is_null($thisPayStage['PlanPayDate']) || empty($thisPayStage['PlanPayDate'])) { |
|
|
|
$thisplanpaydate = "--"; |
|
|
|
} else { |
|
|
|
$thisplanpaydate = $thisPayStage['PlanPayDate']; |
|
|
|
} |
|
|
|
if ($havetopay == "V" && $unReceivedAmount > 1) { |
|
|
|
$print_array[$keyname] = [ |
|
|
|
$value[10], $thisPayStage['facilityno'], $value[0], $value[1], $value[11], $value['ManagerName'], $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], |
|
|
|
$thisPayStage['name'], $thisPayStage['PlanPayDate'], $havetopay, |
|
|
|
$thisPayStage['name'], $thisplanpaydate, $havetopay, |
|
|
|
number_format(round($final_paystage[$key][$sequence]['PayAmount'])), |
|
|
|
number_format(round($final_paystage[$key][$sequence]['InvoiceAmount'])), number_format(round($unInvoiceAmount)), |
|
|
|
number_format(round($final_paystage[$key][$sequence]['receivedAmount'])), number_format(round($unReceivedAmount)), |
|
|
@ -731,18 +777,58 @@ foreach ($arrayData as $key => $value) { |
|
|
|
|
|
|
|
]; |
|
|
|
} |
|
|
|
$table_budget = round($final_paystage[$key][$sequence]['PayAmount']); |
|
|
|
$table_invoice_budget = round($final_paystage[$key][$sequence]['InvoiceAmount']); |
|
|
|
$table_received_budget = round($final_paystage[$key][$sequence]['receivedAmount']); |
|
|
|
$excel_aray[$keyname] = [ |
|
|
|
$value[10], $thisPayStage['facilityno'], $value[0], $value[1], $managerId, $managerName, $value[3], $value[4], $value[5], $value[6], $value[7], $value[8], |
|
|
|
$thisPayStage['name'], $thisPayStage['PlanPayDate'], $havetopay, |
|
|
|
$thisPayStage['name'], $thisplanpaydate, $havetopay, |
|
|
|
number_format(round($final_paystage[$key][$sequence]['PayAmount'])), |
|
|
|
number_format(round($final_paystage[$key][$sequence]['InvoiceAmount'])), number_format(round($unInvoiceAmount)), |
|
|
|
number_format(round($final_paystage[$key][$sequence]['receivedAmount'])), number_format(round($unReceivedAmount)), |
|
|
|
number_format(round($final_paystage[$key][$sequence]['collect_month'])) |
|
|
|
|
|
|
|
]; |
|
|
|
if ($final_paystage[$key][$sequence]['InvoiceAmount'] > 1) { |
|
|
|
$invoice_state = 1; |
|
|
|
} else { |
|
|
|
$invoice_state = 0; |
|
|
|
} |
|
|
|
$table1 = "INSERT INTO account_receivable_renovate( |
|
|
|
`contract_no`, |
|
|
|
`facility_no`, |
|
|
|
`stagename`, |
|
|
|
`budget`, |
|
|
|
`receivable`, |
|
|
|
`invoice_state`, |
|
|
|
`invoice_budget`, |
|
|
|
`received_budget` |
|
|
|
"; |
|
|
|
$table2 = ") VALUES ( |
|
|
|
'$value[10]', |
|
|
|
'$thisPayStage[facilityno]', |
|
|
|
'$thisPayStage[name]', |
|
|
|
$table_budget, |
|
|
|
$table_hadtopay, |
|
|
|
$invoice_state, |
|
|
|
$table_invoice_budget, |
|
|
|
$table_received_budget |
|
|
|
"; |
|
|
|
|
|
|
|
if (!is_null($final_paystage[$key][$sequence]['PlanPayDate']) && !empty($final_paystage[$key][$sequence]['PlanPayDate'])) { |
|
|
|
$table1 .= ",`receivable_date`"; |
|
|
|
$receivable_date = date('Y-m-d', strtotime($final_paystage[$key][$sequence]['PlanPayDate'])); |
|
|
|
$table2 .= ",'$receivable_date' \n"; |
|
|
|
} |
|
|
|
$table .= $table1 . $table2 . "); \n"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// $file_path = 'account_receivable_renovate_sql.sql'; |
|
|
|
// if (file_put_contents($file_path, $table) !== false) { |
|
|
|
// // echo "SQL文件已成功生成:{$file_path}"; |
|
|
|
// } else { |
|
|
|
// // echo "生成SQL文件时出现错误。"; |
|
|
|
// } |
|
|
|
$total_data = json_encode($print_array); |
|
|
|
$average_budget = $sum_total_budget / $sum_facility; |
|
|
|
$average_A40002 = $sum_A40002 / $sum_facility_A40002; |
|
|
@ -1024,6 +1110,7 @@ include "./footer.php"; |
|
|
|
})); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
function searchFront(area) { |
|
|
|
var term = 'search_' + area; |
|
|
|
|
|
|
@ -1109,6 +1196,7 @@ include "./footer.php"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function check(searchname) { |
|
|
|
console.log(searchname); |
|
|
|
|
|
|
|