diff --git a/wms/contract/api/postContractData.php b/wms/contract/api/postContractData.php
index 68c47af3..cafe8333 100644
--- a/wms/contract/api/postContractData.php
+++ b/wms/contract/api/postContractData.php
@@ -2,6 +2,7 @@
require_once("../conn.php");
include_once("./getFacilityNo.php");
include_once("./getComboNo.php");
+include_once("./upload_chk.php");
ini_set ( 'date.timezone' , 'Asia/Taipei' );
//保養簽回
if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'b') {
@@ -330,7 +331,7 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$contracttype = $_POST["contracttype"];
$files = !empty($_FILES['files']) ? $_FILES['files'] : null;
$files_id = null;
-
+
$conn->beginTransaction();
$sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC";
@@ -425,62 +426,3 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
}
-function upload_chk( $file, $path, $max_size, $allow_ext, $file_name ){
-
- $source_file_name = $file['name']; //上傳檔案的原來檔案名稱
- $file_type = $file['type']; //上傳檔案的類型(副檔名)
- $tmp_name = $file['tmp_name']; //上傳到暫存空間的路徑/檔名
- $file_size = $file['size']; //上傳檔案的檔案大小(容量)
- $error = $file['error']; //上傳工作傳回的錯誤訊息編號
- $msg = ''; //負責記錄回傳的訊息
-
- //1.判斷錯誤編號只有為0時表示沒有錯誤發生,才表示上傳成功 =================
- if( $error == 0 ){
-
- //取得檔案延伸的副檔名, 以下函數可以取得檔案延伸的副檔名
- //pathinfo(上傳檔案的原來檔案名稱, PATHINFO_EXTENSION)
- $ext = pathinfo($source_file_name, PATHINFO_EXTENSION);
- $ext = strtolower($ext); //將延伸的副檔名轉小寫
-
- //2.判斷上傳檔案的大小 ====================================
- if( $file_size > $max_size ){
- //當目前檔案容量超過容量限制時, 以下準備顯示的資訊
- if( $max_size >= 4096*4096 ){
- $max_size /= (4096*4096);
- $max_size .= 'M';
- }elseif( $max_size >= 4096 ){
- $max_size /= 4096;
- $max_size .= 'K';
- }
- $msg ='上傳檔案過大,請選擇容量小於 '.$max_size.' 的檔案';
-
- //3.判斷檔案類型 ===========================================
- //in_array($ext, $allow_ext) 判斷 $ext變數的值 是否在 $allow_ext 這個陣列變數中
- }elseif( !in_array( $ext, $allow_ext ) ){
- $allow_str = ''; //準備將允許檔案類型的陣列內容, 組合成字串
- foreach( $allow_ext as $key=>$value ){
- //if的縮寫語法:條件?成立執行的工作:不成立執行的工作;
- $key==0? $allow_str.= $value : $allow_str.=', '.$value;
- }
- $msg = '檔案類型不符合,請選擇 '.$allow_str.' 檔案';
-
- //4.以上條件都沒問題的話, 則進行最後else中的工作===============
- }else{
- //搬移檔案 move_uploaded_file(要搬移的檔案, 目的地位置及目的檔案名稱), 成功傳回true(1)
- $msg = @move_uploaded_file($tmp_name, $path.$file_name);
- }
- }else{
- //這裡表示上傳有錯誤, 匹配錯誤編號顯示對應的訊息 ======================================
- switch ($error) {
- case 1: $msg = '上傳檔案超過 upload_max_filesize 容量最大值'; break;
- case 2: $msg = '上傳檔案超過 post_max_size 總容量最大值'; break;
- case 3: $msg = '檔案只有部份被上傳'; break;
- case 4: $msg = '沒有檔案被上傳'; break;
- case 6: $msg = '找不到主機端暫存檔案的目錄位置'; break;
- case 7: $msg = '檔案寫入失敗'; break;
- case 8: $msg = '上傳檔案被PHP程式中斷,表示主機端系統錯誤'; break;
- }
- } //if( $error == 0 ){ ..... end
-
- return $msg; //回傳$msg的結果
-}
\ No newline at end of file
diff --git a/wms/contract/api/putContractData.php b/wms/contract/api/putContractData.php
new file mode 100644
index 00000000..1c910bd8
--- /dev/null
+++ b/wms/contract/api/putContractData.php
@@ -0,0 +1,115 @@
+beginTransaction();
+
+ $sql_str = "UPDATE contract_m_signed_back SET contract_no=:contract_no, customer=:customer, manager=:manager, vat=:vat, case_name=:case_name, linkman=:linkman, lm_tel=:lm_tel, address=:address, salesman=:salesman WHERE id = :id";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt -> bindParam(':contract_no' ,$contract_no);
+ $stmt -> bindParam(':customer' ,$customer);
+ $stmt -> bindParam(':manager' ,$manager);
+ $stmt -> bindParam(':vat' ,$vat);
+ $stmt -> bindParam(':case_name' ,$case_name);
+ $stmt -> bindParam(':linkman' ,$linkman);
+ $stmt -> bindParam(':lm_tel' ,$lm_tel);
+ $stmt -> bindParam(':address' ,$address);
+ $stmt -> bindParam(':salesman' ,$salesman);
+ $stmt -> bindParam(':id' ,$id);
+ $stmt -> execute();
+ if(!empty($deletefiles)){
+ $sql_str = "DELETE FROM contract_back_files WHERE id IN ($deletefiles)";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt -> execute();
+ }
+
+ if(!empty($files)){
+ $englisharr = range('a', 'z');
+ $files = $_FILES['files'];
+ $newfiles = [];
+ foreach( $files as $file ){
+ $i = 0; //新陣列的索引編號
+ foreach( $file as $key => $val ){
+ $newfiles[$i]['name'] = $files['name'][$key];
+ $newfiles[$i]['type'] = $files['type'][$key];
+ $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key];
+ $newfiles[$i]['error'] = $files['error'][$key];
+ $newfiles[$i]['size'] = $files['size'][$key];
+ $i++;
+ } //foreach 第2層 end
+ }
+ $max_size = 4096*4096; //設定允許上傳檔案容量的最大值(1M)
+ $allow_ext = array('jpeg', 'jpg', 'png','JPG','JPEG','PNG','GIF'); //設定允許上傳檔案的類型
+ $path = '../images/contracts/';
+ if (!file_exists($path)) { mkdir($path); }
+ $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
+ $datetime = (string)date('YmdHis');
+ $files_id = ($files_id !== null ) ? $files_id : 'm' . $datetime; // 新梯=>m + 日期時間
+ echo json_encode($newfiles);
+ foreach( $newfiles as $key => $file ){
+ $randNum = rand(1000,9999);
+ $randEnglish = $englisharr[rand(0,25)];
+ $file_name = 'm' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum.$file['name'];
+ $msg = upload_chk( $file,$path, $max_size, $allow_ext, $file_name );
+ if($msg==1){
+ $msg = '檔案傳送成功!';
+ $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)";
+ $stmt = $conn -> prepare($sql_str);
+ $stmt -> bindParam(':files_id' ,$files_id);
+ $stmt -> bindParam(':file_name' ,$file_name);
+ $stmt -> bindParam(':file_mime' ,$file['type']);
+ $stmt -> bindParam(':file_size' ,$file['size']);
+ $stmt -> bindParam(':created_at' ,$created_at);
+ $stmt -> bindParam(':created_by' ,$created_by);
+ $stmt ->execute();
+ }
+ $msg_result .= '第' . ($key+1) . '個上傳檔案的結果:' . $msg . '
';
+ $src_name = $path.$file['name'];
+ if( file_exists($src_name) ){
+ //副檔名
+ $extname = pathinfo($src_name, PATHINFO_EXTENSION);
+ //主檔名
+ $basename = basename($src_name, '.'.$extname);
+ }
+ }
+ }else{
+ $files = null;
+ }
+
+ $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/api/upload_chk.php b/wms/contract/api/upload_chk.php
new file mode 100644
index 00000000..958cb6d5
--- /dev/null
+++ b/wms/contract/api/upload_chk.php
@@ -0,0 +1,61 @@
+ $max_size ){
+ //當目前檔案容量超過容量限制時, 以下準備顯示的資訊
+ if( $max_size >= 4096*4096 ){
+ $max_size /= (4096*4096);
+ $max_size .= 'M';
+ }elseif( $max_size >= 4096 ){
+ $max_size /= 4096;
+ $max_size .= 'K';
+ }
+ $msg ='上傳檔案過大,請選擇容量小於 '.$max_size.' 的檔案';
+
+ //3.判斷檔案類型 ===========================================
+ //in_array($ext, $allow_ext) 判斷 $ext變數的值 是否在 $allow_ext 這個陣列變數中
+ }elseif( !in_array( $ext, $allow_ext ) ){
+ $allow_str = ''; //準備將允許檔案類型的陣列內容, 組合成字串
+ foreach( $allow_ext as $key=>$value ){
+ //if的縮寫語法:條件?成立執行的工作:不成立執行的工作;
+ $key==0? $allow_str.= $value : $allow_str.=', '.$value;
+ }
+ $msg = '檔案類型不符合,請選擇 '.$allow_str.' 檔案';
+
+ //4.以上條件都沒問題的話, 則進行最後else中的工作===============
+ }else{
+ //搬移檔案 move_uploaded_file(要搬移的檔案, 目的地位置及目的檔案名稱), 成功傳回true(1)
+ $msg = @move_uploaded_file($tmp_name, $path.$file_name);
+ }
+ }else{
+ //這裡表示上傳有錯誤, 匹配錯誤編號顯示對應的訊息 ======================================
+ switch ($error) {
+ case 1: $msg = '上傳檔案超過 upload_max_filesize 容量最大值'; break;
+ case 2: $msg = '上傳檔案超過 post_max_size 總容量最大值'; break;
+ case 3: $msg = '檔案只有部份被上傳'; break;
+ case 4: $msg = '沒有檔案被上傳'; break;
+ case 6: $msg = '找不到主機端暫存檔案的目錄位置'; break;
+ case 7: $msg = '檔案寫入失敗'; break;
+ case 8: $msg = '上傳檔案被PHP程式中斷,表示主機端系統錯誤'; break;
+ }
+ } //if( $error == 0 ){ ..... end
+
+ return $msg; //回傳$msg的結果
+ }
\ No newline at end of file
diff --git a/wms/contract/contract-input.php b/wms/contract/contract-input.php
index 81a107b4..a166b85d 100644
--- a/wms/contract/contract-input.php
+++ b/wms/contract/contract-input.php
@@ -17,8 +17,9 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
-
-
+
+
+
未填寫
未填寫
未填寫
+ 合約管理(新梯)+ |
+ |||||||
+ 檢視合約+ |
+ + + + | +||||||
客戶名稱 | +
+
+ 未填寫 + |
+ 負責人 | +
+
+ 未填寫 + |
+ 統一編號/身分證 | +
+
+ 未填寫 + |
+ 營業員 | +
+
+ 未填寫 + |
+
聯繫人 | +
+
+ 未填寫 + |
+ 聯繫人電話 | +
+
+ 未填寫 + |
+ 案件名稱 | +
+
+ 未填寫 + |
+ ||
地址 | +
+
+ 未填寫 + |
+ 附件上傳 | +
+
+ 未填寫 + |
+ ||||
附件 | +
+
+
+
+
+
+
+
+
+ |
+
未填寫
未填寫
+未填寫
未填寫
+未填寫