diff --git a/.gitignore b/.gitignore index 4e1c1487..a344fd2a 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ app/account_log/ wms/gary2.php wms/chinese.php phpinfo.php +wms/account_receivable_sql_file.sql diff --git a/wms/T8_Authorization_from_bpm.php b/wms/T8_Authorization_from_bpm.php index b862a81d..7d2ca5a8 100644 --- a/wms/T8_Authorization_from_bpm.php +++ b/wms/T8_Authorization_from_bpm.php @@ -5,7 +5,8 @@ // echo $validation = get_Auth($user_id, $user_password); -function get_Auth($user_id = "M0000", $user_password = "M012290493119") +// function get_Auth($user_id = "M0000", $user_password = "M012290493119") +function get_Auth($user_id = "ADMIN", $user_password = "chi") { $currentTime = time(); $twoMinutesLater = $currentTime - (2 * 60); @@ -13,12 +14,14 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119") // $now = gmdate("YmdHis"); $now = gmdate("YmdHis", strtotime("-2 minutes")); $data = "$user_id." . $now; - $sign = hash_hmac('SHA256', $data, 'A21181F1EE4966D3', false); + // $sign = hash_hmac('SHA256', $data, 'A21181F1EE4966D3', false); + $sign = hash_hmac('SHA256', $data, 'A733DAD19527399E', false); // echo $sign; // $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth'; - $apiurl = 'http://60.244.87.101:880//twWebAPI/GetAuth'; + // $apiurl = 'http://60.244.87.101:880//twWebAPI/GetAuth'; ----- + $apiurl = 'http://101.132.66.206:880/twWebAPI/GetAuth'; // $apiurl = 'http://10.10.145.2:880//twWebAPI/GetAuth'; // $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth'; @@ -28,7 +31,7 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119") "Pwd: $user_password", "TimestampUTC: $now", "Sign: $sign", - "GroupId:TEST" + "GroupId:ceshi" ]; $ch = curl_init(); @@ -51,4 +54,4 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119") curl_close($ch); } // $data = []; -// get_Auth(); +get_Auth(); diff --git a/wms/account-receivable-new-index.php b/wms/account-receivable-new-index.php index 59fc1f88..6515aa98 100644 --- a/wms/account-receivable-new-index.php +++ b/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 "
"; + // echo $contract_budget['MaterialId']; + // echo "
"; + // echo $contract_budget['CU_MaterialId']; + // echo "
"; + // } 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'] . " (" . $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天'); @@ -761,7 +779,7 @@ $excel_contract_boga_array = array(); $excel_contract_noboga_array = array(); $excel_facility_array = array(); -foreach ($arrayData as $key => $value) { +foreach ($arrayData as $key => &$value) { $excel_contract_array[$key] = array_fill(0, 76, ''); $excel_contract_array[$key][0] = (isset($value['BillNo']) && !is_null($value['BillNo'])) ? $value['BillNo'] : ''; @@ -781,22 +799,25 @@ foreach ($arrayData as $key => $value) { $excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0; $excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0'; $excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0; + $value['collect_budget'] = ($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0 ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; $excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16])); $excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0'; $excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0'; $excel_contract_array[$key][20] = (isset($value['facility_status']) && !is_null($value['facility_status'])) ? $value['facility_status'] : '--'; $excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14])); $excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16])); - if ($excel_contract_array[$key][17] > 1 && isset($value['PayStage']) && is_iterable($value['PayStage'])) { - $excel_contract_all_array[$key] = array_fill(0, 24, 0); - $excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; - $excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; - $excel_contract_all_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_all_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_all_array[$key][4] = $excel_contract_array[$key][19]; - $excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; - $excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; - $excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; + if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { + if ($excel_contract_array[$key][17] > 1) { + $excel_contract_all_array[$key] = array_fill(0, 24, 0); + $excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; + $excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; + $excel_contract_all_array[$key][2] = $excel_contract_array[$key][8]; + $excel_contract_all_array[$key][3] = $excel_contract_array[$key][11]; + $excel_contract_all_array[$key][4] = $excel_contract_array[$key][19]; + $excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; + $excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; + $excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; + } $isBoga = 0; if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) { $isBoga = 1; @@ -1013,10 +1034,99 @@ foreach ($arrayData as $key => $value) { } } } - +// print_r($arrayData['M220003']); +// exit(); $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 . "
"; +// foreach ($fvalue['PayStage'] as $pkey => $pvalue) { +// // echo $pkey . "
"; +// // print_r($pvalue); +// // echo "
"; +// $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文件时出现错误。"; +// } + ?>