From 2ccb0f743f7d057dcf2554b72d1ab1e3880821c2 Mon Sep 17 00:00:00 2001 From: 10994015 Date: Fri, 24 Nov 2023 17:40:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E7=B4=84=E6=9B=B8=E7=94=B3=E8=AB=8B?= =?UTF-8?q?=20=E6=9A=AB=E5=AD=98=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/contract/api/postContractNewApplyData.php | 68 +++++++++++++++ wms/contract/contract-new-apply.php | 86 +++++++++++-------- wms/contract/js/alpine.js | 26 +++++- 3 files changed, 142 insertions(+), 38 deletions(-) create mode 100644 wms/contract/api/postContractNewApplyData.php diff --git a/wms/contract/api/postContractNewApplyData.php b/wms/contract/api/postContractNewApplyData.php new file mode 100644 index 00000000..f0032a78 --- /dev/null +++ b/wms/contract/api/postContractNewApplyData.php @@ -0,0 +1,68 @@ +beginTransaction(); + try{ + if($isFirst == 1){ + $sql_str = "INSERT INTO contract_new_apply (mid, contractno, sales_man, apply_date, apply_type, case_name, customer, manager, vat, total_price, buy_fee, install_fee, contact_address, workdeadline_a, workdeadline_b, test_time, freedeadline, trade_address, tradedeadline, progress, status, created_at, created_by) VALUES (:mid, :contractno, :sales_man, :apply_date, :apply_type, :case_name, :customer, :manager, :vat, :total_price, :buy_fee, :install_fee, :contact_address, :workdeadline_a, :workdeadline_b, :test_time, :freedeadline, :trade_address, :tradedeadline, :progress, :status, :created_at, :created_by)"; + $stmt = $conn -> prepare($sql_str); + $stmt ->bindParam(':mid', $mid); + $stmt ->bindParam(':contractno', $vol_no); + $stmt ->bindParam(':sales_man', $salesman); + $stmt ->bindParam(':apply_date', $apply_date); + $stmt ->bindParam(':apply_type', $apply_type); + $stmt ->bindParam(':case_name', $case_name); + $stmt ->bindParam(':customer', $customer); + $stmt ->bindParam(':manager', $manager); + $stmt ->bindParam(':vat', $vat); + $stmt ->bindParam(':total_price', $total_price); + $stmt ->bindParam(':buy_fee', $buy_fee); + $stmt ->bindParam(':install_fee', $install_fee); + $stmt ->bindParam(':contact_address', $contact_address); + $stmt ->bindParam(':workdeadline_a', $workdeadline_a); + $stmt ->bindParam(':workdeadline_b', $workdeadline_b); + $stmt ->bindParam(':test_time', $test_time); + $stmt ->bindParam(':freedeadline', $freedeadline); + $stmt ->bindParam(':trade_address', $trade_address); + $stmt ->bindParam(':tradedeadline', $tradedeadline); + $stmt ->bindParam(':progress', $progress); + $stmt ->bindParam(':status', $status); + $stmt ->bindParam(':created_at', $created_at); + $stmt ->bindParam(':created_by', $created_by); + $stmt ->execute(); + header("HTTP/1.1 201 success!"); + $conn->commit(); + } + }catch(PDOException $e){ + $conn->rollback(); + echo $e->getMessage(); + die('Error!:'.$e->getMessage()); + } + + +} \ No newline at end of file diff --git a/wms/contract/contract-new-apply.php b/wms/contract/contract-new-apply.php index 39c3c21e..ab74027c 100644 --- a/wms/contract/contract-new-apply.php +++ b/wms/contract/contract-new-apply.php @@ -1,3 +1,4 @@ + prepare($sql_str); -$stmt->bindParam(':id',$id); -$stmt->execute(); -$contract = $stmt->fetch(PDO::FETCH_ASSOC); -$accounttype = "M"; -$sql_str = "SELECT * FROM account WHERE accounttype = :accounttype"; -$stmt = $conn->prepare($sql_str); -$stmt->bindParam(':accounttype',$accounttype); -$stmt->execute(); -$persons = $stmt->fetchAll(PDO::FETCH_ASSOC); -$sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC"; +$sql_str = "SELECT * FROM contract_new_apply WHERE mid = :mid"; $stmt = $conn->prepare($sql_str); -$stmt->bindParam(':vol_no', $contract['contractno']); +$stmt->bindParam(':mid',$id); $stmt->execute(); -$customer = $stmt->fetch(PDO::FETCH_ASSOC); +$contract_new_apply = $stmt->fetch(PDO::FETCH_ASSOC); +if(empty($contract_new_apply)){ + -$mid = $contract['mainid']; -$sql_str = "SELECT * FROM pricereview_pay WHERE mid = :mid ORDER BY pay_kind ASC"; -$stmt = $conn->prepare($sql_str); -$stmt->bindParam(':mid', $mid); -$stmt->execute(); -$pays = $stmt->fetchAll(PDO::FETCH_ASSOC); -$price_a = 0; -$price_b = 0; -foreach($pays as $pay){ - if($pay['pay_kind'] <= 4){ - $price_a = $price_a + $pay['pay_amount']; - }else{ - $price_b = $price_b + $pay['pay_amount']; + $sql_str = "SELECT pricereview_main.*, pricereview_main.id as mainid, account.name as accountname + FROM pricereview_main + JOIN account ON pricereview_main.person = account.accountid + WHERE pricereview_main.id = :id"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':id',$id); + $stmt->execute(); + $contract = $stmt->fetch(PDO::FETCH_ASSOC); + $accounttype = "M"; + $sql_str = "SELECT * FROM account WHERE accounttype = :accounttype"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':accounttype',$accounttype); + $stmt->execute(); + $persons = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':vol_no', $contract['contractno']); + $stmt->execute(); + $customer = $stmt->fetch(PDO::FETCH_ASSOC); + + $mid = $contract['mainid']; + $sql_str = "SELECT * FROM pricereview_pay WHERE mid = :mid ORDER BY pay_kind ASC"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':mid', $mid); + $stmt->execute(); + $pays = $stmt->fetchAll(PDO::FETCH_ASSOC); + $price_a = 0; + $price_b = 0; + foreach($pays as $pay){ + if($pay['pay_kind'] <= 4){ + $price_a = $price_a + $pay['pay_amount']; + }else{ + $price_b = $price_b + $pay['pay_amount']; + } } + $sql_str = "SELECT * FROM pricereview_item WHERE mid = :mid AND item_group = 'A'"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':mid', $mid); + $stmt->execute(); + $items = $stmt->fetchAll(PDO::FETCH_ASSOC); } -$sql_str = "SELECT * FROM pricereview_item WHERE mid = :mid AND item_group = 'A'"; -$stmt = $conn->prepare($sql_str); -$stmt->bindParam(':mid', $mid); -$stmt->execute(); -$items = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> -
@@ -460,5 +470,7 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC); const price_a = ; const price_b = ; const items = [...]; + const user_id = ''; + const mid = ''; console.log(items) - \ No newline at end of file + diff --git a/wms/contract/js/alpine.js b/wms/contract/js/alpine.js index 517ccb9d..e754b039 100644 --- a/wms/contract/js/alpine.js +++ b/wms/contract/js/alpine.js @@ -1177,6 +1177,7 @@ const contractNewApply = ()=>{ step:1, isLoading:false, data:{ + mid: mid, vol_no: contractno, salesman: salesman, salesmanname:salesmanname, @@ -1221,10 +1222,33 @@ const contractNewApply = ()=>{ }, storageFn(){ this.isLoading = true + const isFirst = 1; const form = new FormData(); - axios.post('postContractNewApplyData.php', form).then(res=>{ + form.append('mid', this.data.mid); + form.append('vol_no', this.data.vol_no); + form.append('salesman', this.data.salesman); + form.append('apply_date', this.data.apply_date); + form.append('apply_type', this.data.apply_type); + form.append('case_name', this.data.case_name); + form.append('company', this.data.company); + form.append('manager', this.data.manager); + form.append('vat', this.data.vat); + form.append('total_price', this.data.total_price); + form.append('price_a', this.data.price_a); + form.append('price_b', this.data.price_b); + form.append('address', this.data.address); + form.append('workdeadline_a', this.data.workdeadline_a); + form.append('workdeadline_b', this.data.workdeadline_b); + form.append('regulations', this.data.regulations); + form.append('freedeadline', this.data.freedeadline); + form.append('tradeaddress', this.data.tradeaddress); + form.append('tradedeadline', this.data.tradedeadline); + form.append('isFirst', isFirst); + form.append('user_id', user_id); + axios.post('./api/postContractNewApplyData.php', form).then(res=>{ if(res.status === 200){ alert('暫存成功'); + console.log(res.data); } this.isLoading = false }).catch(error=>{