Browse Source

產生應收帳款(新梯) 拆分成作番款別的sql檔

gary
Ellin 1 year ago
parent
commit
66c4f1e6fe
  1. 136
      wms/account-receivable-new-index.php

136
wms/account-receivable-new-index.php

@ -169,6 +169,14 @@ $query_contract_budget = $conn->query($sql_contract_budget);
foreach ($query_contract_budget as $contract_budget) {
if (isset($arrayData[$contract_budget['BillNo']])) {
$arrayData[$contract_budget['BillNo']][$contract_budget['MaterialId']] += $contract_budget['OAmountWithTax'];
// if($contract_budget['BillNo']=='SO20230801002'){
// echo $contract_budget['OAmountWithTax'];
// echo "<br>";
// echo $contract_budget['MaterialId'];
// echo "<br>";
// echo $contract_budget['CU_MaterialId'];
// echo "<br>";
// }
if (isset($arrayData[$contract_budget['BillNo']]['facility']) && isset($arrayData[$contract_budget['BillNo']]['facility'][$contract_budget['CU_MaterialId']])) {
$arrayData[$contract_budget['BillNo']]['facility'][$contract_budget['CU_MaterialId']]['total_budget'] += $contract_budget['OAmountWithTax'];
if (isset($arrayData[$contract_budget['BillNo']]['facility'][$contract_budget['CU_MaterialId']][$contract_budget['MaterialId']])) {
@ -280,6 +288,15 @@ ON d.department_id = tmp2.department_id ";
$wip_array = array();
$query_wip = mysqli_query($link, $sql_wip);
foreach ($query_wip as $wip) {
$contractno = $wip['contractno'];
switch ($wip['contractno']) {
case 'M231067':
$contractno = 'SO20230801002';
break;
case 'M230947':
$contractno = 'SO20230801001';
break;
}
$wip_array[$wip['facilityno']]['estimated_shipping_date'] = $wip['estimated_shipping_date'];
$wip_array[$wip['facilityno']]['real_contract_arrival_date'] = $wip['real_contract_arrival_date'];
$wip_array[$wip['facilityno']]['real_arrival_date'] = $wip['real_arrival_date'];
@ -287,31 +304,32 @@ foreach ($query_wip as $wip) {
$wip_array[$wip['facilityno']]['tryrun_end_date'] = $wip['tryrun_end_date'];
$wip_array[$wip['facilityno']]['official_check_date'] = $wip['official_check_date'];
$wip_array[$wip['facilityno']]['delivery_date'] = $wip['delivery_date'];
if (isset($arrayData[$wip['contractno']]) && isset($arrayData[$wip['contractno']]['facility'][$wip['facilityno']])) {
if (isset($arrayData[$contractno]) && isset($arrayData[$contractno]['facility'][$wip['facilityno']])) {
if ($wip['delivery_date'] != NULL && $wip['delivery_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['delivery_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['delivery_date'] . "已移交";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['delivery_date'] . "已移交";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交) ; ";
} elseif ($wip['official_check_date'] != NULL && $wip['official_check_date'] != '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['official_check_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['official_check_date'] . "官檢完畢";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['official_check_date'] . "官檢完畢";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢) ; ";
} elseif ($wip['tryrun_end_date'] != NULL && $wip['tryrun_end_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['tryrun_end_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['tryrun_end_date'] . "試車完畢";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['tryrun_end_date'] . "試車完畢";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢) ; ";
} elseif ($wip['install_end_date'] != NULL && $wip['install_end_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['install_end_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['install_end_date'] . "安裝完畢";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['install_end_date'] . "安裝完畢";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢) ; ";
} elseif ($wip['real_arrival_date'] != NULL && $wip['real_arrival_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['real_arrival_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['real_arrival_date'] . "貨抵工地";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['real_arrival_date'] . "貨抵工地";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地) ; ";
} elseif ($wip['real_contract_arrival_date'] != NULL && $wip['real_contract_arrival_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['real_contract_arrival_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['real_contract_arrival_date'] . "預計出貨";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . date('Y-m-d', strtotime($wip['real_contract_arrival_date'])) . "預計出貨) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['real_contract_arrival_date'] . "預計出貨";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . date('Y-m-d', strtotime($wip['real_contract_arrival_date'])) . "預計出貨) ; ";
} elseif ($wip['estimated_shipping_date'] != NULL && $wip['estimated_shipping_date'] !== '1970-01-01' && $wip['delivery_date'] !== '1970-01-11' && !empty($wip['estimated_shipping_date'])) {
$arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['estimated_shipping_date'] . "預計出港";
$arrayData[$wip['contractno']]['facility_status'] .= $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港) ; ";
$arrayData[$contractno]['facility'][$wip['facilityno']]['status'] = $wip['estimated_shipping_date'] . "預計出港";
$arrayData[$contractno]['facility_status'] .= $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港) ; ";
}
}
}
// 合約收款階段內容分類
$sign60 = array('簽訂後60天', '簽約60日', '簽約後60天', '簽訂後60日內', '訂金支付後60天');
$sign90 = array('簽約後90天', '簽約後90日', '簽訂後90天');
@ -1021,6 +1039,94 @@ foreach ($arrayData as $key => &$value) {
$total_data = json_encode($excel_contract_all_array);
$boga_data = json_encode($excel_contract_boga_array);
$noboga_data = json_encode($excel_contract_noboga_array);
$table = "";
$testtotal =0;
// foreach ($arrayData as $key => $value) {
// if (isset($value['facility']) && is_iterable($value['facility'])) {
// foreach ($value['facility'] as $fkey => $fvalue) {
// // echo $fkey . "<br>";
// foreach ($fvalue['PayStage'] as $pkey => $pvalue) {
// // echo $pkey . "<br>";
// // print_r($pvalue);
// // echo "<br>";
// $invoice_budget = round($pvalue['invoice_budget']);
// $received_budget = round($pvalue['received_budget']);
// $budget = round($pvalue['PlanPayAmt']);
// $paydate = $pvalue['PlanPayDate'];
// switch ($pvalue['stage']) {
// case '訂金':
// $stageno = 100;
// break;
// case '二次款':
// $stageno = 200;
// break;
// case '貨抵工地款':
// $stageno = 300;
// break;
// case '安裝款':
// $stageno = 400;
// break;
// case '試車款':
// $stageno = 500;
// break;
// case '官檢驗收款':
// $stageno = 600;
// break;
// case '交車款':
// $stageno = 700;
// break;
// case '尾款':
// $stageno = 800;
// break;
// default:
// $stageno = 0;
// break;
// }
// switch ($pvalue['hadtopay']) {
// case "V":
// $hadtopay = 1;
// break;
// default:
// $hadtopay = 0;
// break;
// }
// $invoice = 0;
// if ($pvalue['invoice_budget'] > 1) {
// $invoice = 1;
// $invoice_state = 1;
// }
// $table1 = "INSERT INTO account_receivable(
// `contract_no`,
// `facility_no`,
// `stage`,
// `budget`,
// `receivable`,
// `invoice`,
// `invoice_budget`,
// `received_budget`";
// $table2 = ") VALUES ('$key','$fkey',$stageno,$budget,$hadtopay,$invoice,$invoice_budget,$received_budget";
// if (!is_null($paydate) && !empty($paydate)) {
// $table1 .= ",`receivable_date`";
// $table2 .= ",'$paydate'";
// }
// if (!is_null($invoice_state) && !empty($invoice_state)) {
// $table1 .= ",`invoice_state`";
// $table2 .= ",$invoice_state";
// }
// $table .= $table1 . $table2 . "); \n";
// }
// }
// }
// }
// $file_path = 'account_receivable_sql.sql';
// if (file_put_contents($file_path, $table) !== false) {
// echo "SQL文件已成功生成:{$file_path}";
// } else {
// echo "生成SQL文件时出现错误。";
// }
?>
<style>
table {

Loading…
Cancel
Save