diff --git a/wms/contract/api/postContractNewApplyData.php b/wms/contract/api/postContractNewApplyData.php
index f0032a78..be4f9b80 100644
--- a/wms/contract/api/postContractNewApplyData.php
+++ b/wms/contract/api/postContractNewApplyData.php
@@ -1,10 +1,13 @@
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)";
+ $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, person, personname, submit_date, 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, :person, :personname, :submit_date, :created_at, :created_by)";
$stmt = $conn -> prepare($sql_str);
$stmt ->bindParam(':mid', $mid);
$stmt ->bindParam(':contractno', $vol_no);
@@ -52,17 +63,142 @@ if(isset($_POST['vol_no']) && !empty($_POST['vol_no'])){
$stmt ->bindParam(':tradedeadline', $tradedeadline);
$stmt ->bindParam(':progress', $progress);
$stmt ->bindParam(':status', $status);
+ $stmt ->bindParam(':person', $salesman);
+ $stmt ->bindParam(':personname', $salesmanname);
+ $stmt ->bindParam(':submit_date', $submit_date);
$stmt ->bindParam(':created_at', $created_at);
$stmt ->bindParam(':created_by', $created_by);
$stmt ->execute();
+ $contract_apply_id = $conn->lastInsertId();
+ foreach($pays as $idx=>$pay){
+ $kind = $idx;
+ $sql_str = "INSERT INTO contract_new_apply_pays (contract_apply_id, mid, pay_kind, pay_scale, pay_amount, pay_period, condition_date, created_at, created_by) VALUES (:contract_apply_id, :mid, :pay_kind, :pay_scale, :pay_amount, :pay_period, :condition_date, :created_at, :created_by)";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt ->bindParam(':contract_apply_id', $contract_apply_id);
+ $stmt ->bindParam(':mid', $mid);
+ $stmt ->bindParam(':pay_kind', $kind);
+ $stmt ->bindParam(':pay_scale', $pay['scale']);
+ $stmt ->bindParam(':pay_amount', $pay['amount']);
+ $stmt ->bindParam(':pay_period', $pay['pay_period']);
+ $stmt ->bindParam(':condition_date', $pay['condition_date']);
+ $stmt ->bindParam(':created_at', $created_at);
+ $stmt ->bindParam(':created_by', $created_by);
+ $stmt ->execute();
+ }
+
+ header("HTTP/1.1 201 success!");
+ $conn->commit();
+ }else{
+ $sql_str = "UPDATE contract_new_apply SET status = :status, apply_date=:apply_date, apply_type=:apply_type, case_name=:case_name, customer=:customer, manager=:manager, vat=:vat, total_price=:total_price, buy_fee=:buy_fee, install_fee=:install_fee, contact_address=:contact_address, trade_address=:trade_address, workdeadline_a=:workdeadline_a, workdeadline_b=:workdeadline_b, test_time=:test_time, freedeadline=:freedeadline, trade_address=:trade_address, trade_address=:trade_address, tradedeadline=:tradedeadline, progress=:progress, person=:person, personname=:personname, submit_date=:submit_date, updated_at=:updated_at, updated_by=:updated_by WHERE mid = :mid";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt ->bindParam(':mid', $mid);
+ $stmt ->bindParam(':status', $status);
+ $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(':person', $salesman);
+ $stmt ->bindParam(':personname', $salesmanname);
+ $stmt ->bindParam(':submit_date', $submit_date);
+ $stmt ->bindParam(':updated_at', $updated_at);
+ $stmt ->bindParam(':updated_by', $updated_by);
+ $stmt ->execute();
+
+ foreach($pays as $idx=>$pay){
+ $kind = $idx;
+ $sql_str = "UPDATE contract_new_apply_pays SET pay_scale = :pay_scale, pay_amount = :pay_amount, pay_period = :pay_period, condition_date = :condition_date, updated_at = :updated_at, updated_by = :updated_by WHERE mid = :mid AND pay_kind = :pay_kind";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt ->bindParam(':mid', $mid);
+ $stmt ->bindParam(':pay_kind', $kind);
+ $stmt ->bindParam(':pay_scale', $pay['scale']);
+ $stmt ->bindParam(':pay_amount', $pay['amount']);
+ $stmt ->bindParam(':pay_period', $pay['pay_period']);
+ $stmt ->bindParam(':condition_date', $pay['condition_date']);
+ $stmt ->bindParam(':updated_at', $updated_at);
+ $stmt ->bindParam(':updated_by', $updated_by);
+ $stmt ->execute();
+ }
+
header("HTTP/1.1 201 success!");
$conn->commit();
}
}catch(PDOException $e){
$conn->rollback();
+ header("HTTP/1.1 500 failed!");
echo $e->getMessage();
die('Error!:'.$e->getMessage());
}
-
+
+}
+//結案同意
+if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 3) ){
+ $status = $_POST['status'];
+ $vol_no = $_POST['vol_no'];
+ $contract_new_apply_id = $_POST['contract_new_apply_id'];
+ $progress = $_POST['progress'];
+ $review_comment = $_POST['review_comment'];
+ $user_id = $_POST['review_person_id'];
+ $review_date = date('Y-m-d H:i:s');
+ $conn->beginTransaction();
+ try{
+ $sql_str = "UPDATE contract_new_apply SET status = :status, progress = :progress, review_comment=:review_comment, review_person_id=:review_person_id, review_date=:review_date WHERE id = :contract_new_apply_id";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt ->bindParam(':status', $status);
+ $stmt ->bindParam(':progress', $progress);
+ $stmt ->bindParam(':contract_new_apply_id', $contract_new_apply_id);
+ $stmt ->bindParam(':review_comment', $review_comment);
+ $stmt ->bindParam(':review_person_id', $user_id);
+ $stmt ->bindParam(':review_date', $review_date);
+ $stmt->execute();
+ header("HTTP/1.1 200 success!");
+ $conn->commit();
+ }catch(PDOException $e){
+ $conn->rollback();
+ header("HTTP/1.1 500 failed!");
+ echo $e->getMessage();
+ die('Error!:'.$e->getMessage());
+ }
+}
+//結案不同意(退回)
+if(isset($_POST['vol_no']) && !empty($_POST['vol_no']) && ($_POST['status'] == 2) ){
+ $status = $_POST['status'];
+ $vol_no = $_POST['vol_no'];
+ $contract_new_apply_id = $_POST['contract_new_apply_id'];
+ $progress = $_POST['progress'];
+ $review_comment = $_POST['review_comment'];
+ $user_id = $_POST['review_person_id'];
+ $review_date = date('Y-m-d H:i:s');
+ $conn->beginTransaction();
+ try{
+ $sql_str = "UPDATE contract_new_apply SET status = :status, progress = :progress, review_comment=:review_comment, review_person_id=:review_person_id, review_date=:review_date WHERE id = :contract_new_apply_id";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt ->bindParam(':status', $status);
+ $stmt ->bindParam(':progress', $progress);
+ $stmt ->bindParam(':contract_new_apply_id', $contract_new_apply_id);
+ $stmt ->bindParam(':review_comment', $review_comment);
+ $stmt ->bindParam(':review_person_id', $user_id);
+ $stmt ->bindParam(':review_date', $review_date);
+ $stmt->execute();
+ header("HTTP/1.1 200 success!");
+ $conn->commit();
+ }catch(PDOException $e){
+ $conn->rollback();
+ header("HTTP/1.1 500 failed!");
+ 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 54510f75..0960d7be 100644
--- a/wms/contract/contract-new-apply.php
+++ b/wms/contract/contract-new-apply.php
@@ -9,17 +9,15 @@ if(!(isset($_GET['id']) && !empty($_GET['id']))){
}
$id = $_GET["id"];
-$sql_str = "SELECT * FROM contract_new_apply WHERE mid = :mid";
+$sql_str = "SELECT contract_new_apply.*, account.name as review_person_name FROM contract_new_apply LEFT JOIN account ON contract_new_apply.review_person_id = account.accountid WHERE contract_new_apply.mid = :mid";
$stmt = $conn->prepare($sql_str);
$stmt->bindParam(':mid',$id);
$stmt->execute();
$contract_new_apply = $stmt->fetch(PDO::FETCH_ASSOC);
$contract = $contract_new_apply;
-
-
-
+$isFirst = empty($contract_new_apply) ? 1 : 0;
if(empty($contract_new_apply)){
- $sql_str = "SELECT pricereview_main.*, pricereview_main.id as mainid, account.name as accountname
+ $sql_str = "SELECT pricereview_main.contractno, pricereview_main.ekind, pricereview_main.person, pricereview_main.company, pricereview_main.case_name, pricereview_main.address, pricereview_main.price_lowest, pricereview_main.price_total, pricereview_main.price_rate, pricereview_main.status as priceview_status, 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";
@@ -49,39 +47,58 @@ if(empty($contract_new_apply)){
$items = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($items);
+ $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);
+ print_r($pays);
+ $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'];
+ }
+ }
+
}else{
$mid = $contract['mid'];
- echo "\$contract['contractno']===>". $contract['contractno'] . "
";
- echo "\$contract['person']===>". $contract['person'] . "
";
- echo "\$contract['personname']===>". $contract['personname'] . "
";
- echo "\date('Y-m-d')===>". date('Y-m-d') . "
";
- echo "\$contract['case_name']===>". $contract['case_name'] . "
";
- echo "\$contract['customer']===>". $contract['customer'] . "
";
- echo "\$contract['manager']===>". $contract['manager'] . "
";
- echo "\$contract['vat']===>". $contract['vat'] . "
";
- echo "\$contract['total_price']===>". $contract['total_price'] . "
";
- echo "\$contract['contact_address']===>". $contract['contact_address'] . "
";
- echo "\$contract['buy_fee']===>". $contract['buy_fee'] . "
";
- echo "\$contract['install_fee']===>". $contract['install_fee'] . "
";
- echo "\json_encode(\$items)===>". json_encode($items) . "
";
- echo "\$user_id===>". $user_id . "
";
- echo "\$_GET['id']===>". $_GET['id'] . "
";
-}
-$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);
-print_r($pays);
-$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'];
+ // echo "\$contract['contractno']===>". $contract['contractno'] . "
";
+ // echo "\$contract['person']===>". $contract['person'] . "
";
+ // echo "\$contract['personname']===>". $contract['personname'] . "
";
+ // echo "\date('Y-m-d')===>". date('Y-m-d') . "
";
+ // echo "\$contract['case_name']===>". $contract['case_name'] . "
";
+ // echo "\$contract['customer']===>". $contract['customer'] . "
";
+ // echo "\$contract['manager']===>". $contract['manager'] . "
";
+ // echo "\$contract['vat']===>". $contract['vat'] . "
";
+ // echo "\$contract['total_price']===>". $contract['total_price'] . "
";
+ // echo "\$contract['contact_address']===>". $contract['contact_address'] . "
";
+ // echo "\$contract['buy_fee']===>". $contract['buy_fee'] . "
";
+ // echo "\$contract['install_fee']===>". $contract['install_fee'] . "
";
+ // echo "\json_encode(\$items)===>". json_encode($items) . "
";
+ // echo "\$user_id===>". $user_id . "
";
+ // echo "\$_GET['id']===>". $_GET['id'] . "
";
+ $contract_new_apply_id = $contract_new_apply['id'];
+ $sql_str = "SELECT * FROM contract_new_apply_pays 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'];
+ }
}
}
+
+$status = isset($contract['status']) ? $contract['status'] : -1;
+
?>
@@ -120,7 +137,7 @@ foreach($pays as $pay){
統一編號 |
- 未填寫
+ 未填寫
|
合約書申請日期 |
@@ -414,48 +431,60 @@ foreach($pays as $pay){
|
- 業務部協理 |
-
-
- 已退件
-
-
- 審核中
-
-
- 已通過
-
- |
- 業務部承辦人 |
+ 審核 |
+ 審核人 |
+ 結果 |
+ 意見 |
+ 時間 |
+ 審核意見 |
+
+
+ 營業員 |
+ |
-
- 已退件
-
-
- 審核中
-
-
- 已通過
-
+ = 1): ?>已送審
+ 暫存
+ 未提交
|
- 營業經理 |
+ --- |
+ |
+
+
+
+
+ |
+
+
+ 業務承辦人 |
+ |
+ 結案同意
+ 結案不同意
+ |
+ |
+ |
+
+
-