From f863da5b683e8de2d127ff21041e8f05aa15ef26 Mon Sep 17 00:00:00 2001 From: Ellin Date: Fri, 17 Nov 2023 15:27:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8D=E5=B8=B3=E7=B3=BB=E7=B5=B1=E8=B7=9F?= =?UTF-8?q?=E6=9B=B4=E6=96=B0T8=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/T8_APItest.php | 11 +- wms/T8_Authorization.php | 12 ++- wms/account-receivable-index.php | 169 ++++++++++++++++--------------- 3 files changed, 103 insertions(+), 89 deletions(-) diff --git a/wms/T8_APItest.php b/wms/T8_APItest.php index 191dba3b..713838bf 100644 --- a/wms/T8_APItest.php +++ b/wms/T8_APItest.php @@ -5,13 +5,14 @@ echo "ii"; \ No newline at end of file diff --git a/wms/account-receivable-index.php b/wms/account-receivable-index.php index 860a6c70..e7e2afb0 100644 --- a/wms/account-receivable-index.php +++ b/wms/account-receivable-index.php @@ -8,17 +8,83 @@ use PhpOffice\PhpSpreadsheet\Writer\Xlsx as xls; use PhpOffice\PhpSpreadsheet\Reader\Xlsx; $arrayData = []; -$sql = "SELECT +echo "合約號,部門,經理,營業員,簽約款,二次款,貨抵工地款,安裝款,試車款,交車款,取得許可證約交款,取得許可函後6個月約交款,狀態
"; + +// $T8_array = mysqli_fetch_all($T8_array, MYSQLI_ASSOC); + +// $sql_depid = "SELECT department_id, name from department"; +// $dept_query = mysqli_query($link, $sql_depid); +// $deptype = mysqli_fetch_all($dept_query, MYSQLI_ASSOC); + + +$sql_contract = "SELECT a.BillNo, a.PayStage, a.PlanPayAmt FROM salOrderStagePay AS a +LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo WHERE s.ModeId = 'M' AND (s.CurrentState=2 OR s.CurrentState=4) "; +$contract = $conn->query($sql_contract); +foreach ($contract as $cont) { + // print_r($cont); + // echo "
"; + $BillNo = $cont['BillNo']; + $PayStage = $cont['PayStage']; + $PayAmount = $cont['PlanPayAmt']; + + if (isset($arrayData[$BillNo])) { + if (stristr($PayStage, '二次款') || stristr($PayStage, '出貨前') || stristr($PayStage, '簽約後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60')) { + $arrayData[$BillNo][5] = $PayAmount; + } elseif ($PayStage == '簽約' || stristr($PayStage, '簽定') || stristr($PayStage, '簽訂') || stristr($PayStage, '訂金')) { + $arrayData[$BillNo][4] = $PayAmount; + } elseif (stristr($PayStage, '貨抵工地') || stristr($PayStage, '貨底工地')) { + $arrayData[$BillNo][6] = $PayAmount; + } elseif (stristr($PayStage, '安裝')) { + $arrayData[$BillNo][7] = $PayAmount; + } elseif (stristr($PayStage, '試車')) { + $arrayData[$BillNo][8] = $PayAmount; + } elseif (stristr($PayStage, '交車') || stristr($PayStage, '完工') || stristr($PayStage, '驗收')) { + $arrayData[$BillNo][9] = $PayAmount; + } elseif (stristr($PayStage, '取得合格函') || stristr($PayStage, '取得許可函')) { + $arrayData[$BillNo][10] = $PayAmount; + } elseif (stristr($PayStage, '得合格函後6個月') || stristr($PayStage, '核可函取得後6個月')) { + $arrayData[$BillNo][11] = $PayAmount; + } else { + $arrayData[$BillNo][12] = $PayAmount; + } + } else { + $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + if (stristr($PayStage, '二次款') || stristr($PayStage, '出貨前') || stristr($PayStage, '簽約後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時') || stristr($PayStage, '簽約60')) { + $arrayData[$BillNo][5] = $PayAmount; + } elseif ($PayStage == '簽約' || stristr($PayStage, '簽定') || stristr($PayStage, '簽訂') || stristr($PayStage, '訂金')) { + $arrayData[$BillNo][4] = $PayAmount; + } elseif (stristr($PayStage, '貨抵工地') || stristr($PayStage, '貨底工地')) { + $arrayData[$BillNo][6] = $PayAmount; + } elseif (stristr($PayStage, '安裝')) { + $arrayData[$BillNo][7] = $PayAmount; + } elseif (stristr($PayStage, '試車')) { + $arrayData[$BillNo][8] = $PayAmount; + } elseif (stristr($PayStage, '交車') || stristr($PayStage, '完工') || stristr($PayStage, '驗收')) { + $arrayData[$BillNo][9] = $PayAmount; + } elseif (stristr($PayStage, '取得合格函') || stristr($PayStage, '取得許可函')) { + $arrayData[$BillNo][10] = $PayAmount; + } elseif (stristr($PayStage, '得合格函後6個月') || stristr($PayStage, '核可函取得後6個月')) { + $arrayData[$BillNo][11] = $PayAmount; + } else { + $arrayData[$BillNo][12] = $PayAmount; + } + } +} +foreach ($arrayData as $key => $value) { + $sql = "SELECT tmp2.*, d.name AS depart_name FROM( SELECT a.manager, + a2.name as manager_name, a.name, a.department_id, w.salesid, w.contractno, w.facilityno, + w.estimated_shipping_date, +w.actual_tofactory_date, w.real_arrival_date, w.install_end_date, w.tryrun_end_date, @@ -28,7 +94,8 @@ left join account AS a ON w.salesid = a.accountid left join account AS a2 ON a2.accountid = a.manager -where w.status = '1' +where w.status = '1' AND w.contractno='" . $key . "'" . " + )AS tmp2 left join ( SELECT DISTINCT @@ -38,84 +105,28 @@ FROM department ) AS d ON d.department_id = tmp2.department_id"; +$facitities = ""; -$wipwhole_array = mysqli_query($link, $sql); -// $T8_array = mysqli_fetch_all($T8_array, MYSQLI_ASSOC); -foreach ($wipwhole_array as $wip) { - // print_r($wip); - // echo "
"; -} -echo "
"; -// $sql_depid = "SELECT department_id, name from department"; -// $dept_query = mysqli_query($link, $sql_depid); -// $deptype = mysqli_fetch_all($dept_query, MYSQLI_ASSOC); - - -$sql_contract = "SELECT a.BillNo, a.PayStage, a.PlanPayAmt FROM salOrderStagePay AS a -LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo WHERE s.ModeId = 'M'"; -$contract = $conn->query($sql_contract); -foreach ($contract as $cont) { - // print_r($cont); - // echo "
"; - $BillNo = $cont['BillNo']; - $PayStage = $cont['PayStage']; - $PayAmount = $cont['PlanPayAmt']; - - if (isset($arrayData[$BillNo])) { - if ($PayStage == '簽約' || stristr($PayStage, '簽定') || stristr($PayStage, '簽訂') || stristr($PayStage, '訂金')) { - $arrayData[$BillNo][0] = $PayAmount; - } elseif (stristr($PayStage, '二次款') || stristr($PayStage, '出貨前') || stristr($PayStage, '簽約後') || stristr($PayStage, '簽訂後') || stristr($PayStage, '建照核發時')) { - $arrayData[$BillNo][1] = $PayAmount; - } elseif (stristr($PayStage, '貨抵工地')||stristr($PayStage, '貨底工地')) { - $arrayData[$BillNo][2] = $PayAmount; - } elseif (stristr($PayStage, '安裝')) { - $arrayData[$BillNo][3] = $PayAmount; - } elseif (stristr($PayStage, '試車')) { - $arrayData[$BillNo][4] = $PayAmount; - } elseif (stristr($PayStage, '交車') || stristr($PayStage, '完工') || stristr($PayStage, '驗收')) { - $arrayData[$BillNo][5] = $PayAmount; - } elseif (stristr($PayStage, '取得合格函') || stristr($PayStage, '取得許可函')) { - $arrayData[$BillNo][6] = $PayAmount; - } elseif (stristr($PayStage, '得合格函後6個月') || stristr($PayStage, '核可函取得後6個月')) { - $arrayData[$BillNo][7] = $PayAmount; - }else{ - $arrayData[$BillNo][8] = $PayAmount; + $wipwhole_array = mysqli_query($link, $sql); + foreach ($wipwhole_array as $wip) { + $value[0] = $wip['depart_name']; + $value[1] = $wip['manager_name']; + $value[2] = $wip['name']; + if ($wip['delivery_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(" . $wip['delivery_date'] . "已移交);\n"; + } elseif ($wip['tryrun_end_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(" . $wip['tryrun_end_date'] . "試車完畢);\n"; + } elseif ($wip['install_end_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(" . $wip['install_end_date'] . "安裝完畢);\n"; + } elseif ($wip['real_arrival_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(".$wip['real_arrival_date'] . "貨抵工地);\n"; + } elseif ($wip['actual_tofactory_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(" . $wip['actual_tofactory_date'] . "實際到觀音日);\n"; + }elseif ($wip['estimated_shipping_date'] != NULL) { + $facitities .= $wip['facilityno'] . "(" . $wip['estimated_shipping_date'] . "預計到港);\n"; + }else { + $facitities .= $wip['facilityno'] . "(預計到港日待確認);\n"; } - } else { - - $arrayData[$BillNo] = [0, 0, 0, 0, 0, 0, 0, 0]; } - - // echo "
"."--------------------------------"."
"; - - // array_push($arrayData,$payment); - // print_r($payment); - // echo "
---------------------------
"; + echo $key . "," . $value[0] . "," . $value[1] . "," . $value[2] . "," . $value[4] . "," . $value[5] . "," . $value[6] . "," . $value[7] . "," . $value[8] . "," . $value[9] . "," . $value[10] . "," . $value[11] . ",". $facitities . "
"; } -foreach ($arrayData as $key => $value) { - print_r($key); - echo "
"; - print_r($value); - echo "
-----------------------------
"; -} -echo "
###########################
"; - - //產生excel - // $spreadsheet = new Spreadsheet(); - // $sheet = $spreadsheet->getActiveSheet(); - // $colArr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', - // 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - // 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', - // 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', - // 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', - // 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO']; - // $colTitleArr = ['合約號','付款階段','付款金額']; - // $sheet->setTitle('預收款清單'); - // for ($i = 0; $i setCellValue($colArr[$i].'1', $colTitleArr[$i]); - // } - // $i=2; - // for ($j=0; $j setCellValue($colArr[$j].$i, $payment[$j][$i]); - // $i++; - // }