diff --git a/wms/contract/api/getContractData.php b/wms/contract/api/getContractData.php
index 37138c7a..f1c1a3fc 100644
--- a/wms/contract/api/getContractData.php
+++ b/wms/contract/api/getContractData.php
@@ -46,9 +46,11 @@ if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['cont
if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['contracttype']) && $_GET['contracttype'] == 'm') {
try {
$contractno = $_GET['contractno'];
- $sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC";
+ $sql_str = "SELECT a.*,b.lm_tel,b.uscc,b.manager FROM pricereview_main AS a
+ LEFT JOIN hope_elevator_customer AS b ON a.contractno = b.vol_no
+ WHERE a.contractno = :contractno AND a.status = 'YS' ";
$stmt = $conn->prepare($sql_str);
- $stmt->bindParam(':vol_no', $contractno);
+ $stmt->bindParam(':contractno', $contractno);
$stmt->execute();
$contract = $stmt->fetch(PDO::FETCH_ASSOC);
$contractResponse = json_encode($contract);
diff --git a/wms/contract/api/postContractData.php b/wms/contract/api/postContractData.php
index f2aa2fc1..29038b9f 100644
--- a/wms/contract/api/postContractData.php
+++ b/wms/contract/api/postContractData.php
@@ -412,7 +412,7 @@ function T8insert($data, $facilityno, $depId)
$stmt = $conn->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
- $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
$date = date('Y-m-dH-s-i');
$date_1 = date('Y-m-d');
$createTime = str_replace("-", '', $date);
diff --git a/wms/contract/api/postNewContractData.php b/wms/contract/api/postNewContractData.php
index 001fe1f5..0ee6964e 100644
--- a/wms/contract/api/postNewContractData.php
+++ b/wms/contract/api/postNewContractData.php
@@ -1,139 +1,254 @@
- 0) {
- header("HTTP/1.1 422 Unprocessable Entity");
- echo json_encode($fail_arr);
- exit();
- }
-
-
- $conn->beginTransaction();
-
- $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC";
- $stmt = $conn -> prepare($sql_str);
- $stmt -> bindParam(":accountid",$salesman);
- $stmt -> execute();
- $saleman = $stmt->fetch(PDO::FETCH_ASSOC);
- $salesman_name = $saleman['name'];
- 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 = 'm' . $datetime; // 保養=>b + 日期時間
- 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();
- }else{
- throw new PDOException('檔案上傳失敗:' . $msg);
- }
- $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;
- }
-
- $sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by, qc_official_type) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by, :qc)";
- $stmt = $conn -> prepare($sql_str);
- $stmt -> bindParam(":contract_no",$contractno);
- $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(":salesman_name",$salesman_name);
- $stmt -> bindParam(":files_id",$files_id);
- $stmt -> bindParam(":created_at",$created_at);
- $stmt -> bindParam(":created_by",$created_by);
- $stmt -> bindParam(":qc",$qc);
- $stmt -> execute();
-
-
- $result = $conn->commit();
- if($result){
- header("HTTP/1.1 201 Created");
- }
-
- }catch(PDOException $e){
- $conn->rollback();
- header("HTTP/1.1 500 Internal Server Error");
- die('Error!:'.$e->getMessage());
- }
- }
\ No newline at end of file
+ 0) {
+ header("HTTP/1.1 422 Unprocessable Entity");
+ echo json_encode($fail_arr);
+ exit();
+ }
+
+
+ $conn->beginTransaction();
+
+ $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(":accountid", $salesman);
+ $stmt->execute();
+ $saleman = $stmt->fetch(PDO::FETCH_ASSOC);
+ $salesman_name = $saleman['name'];
+ 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 = 'm' . $datetime; // 保養=>b + 日期時間
+ 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();
+ } else {
+ throw new PDOException('檔案上傳失敗:' . $msg);
+ }
+ $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;
+ }
+
+ $sql_str = "INSERT INTO contract_m_signed_back (contract_no, customer, manager, vat, case_name, linkman, lm_tel, address, salesman, salesman_name, files_id, created_at, created_by, qc_official_type) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by, :qc)";
+ $stmt = $conn->prepare($sql_str);
+ $stmt->bindParam(":contract_no", $contractno);
+ $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(":salesman_name", $salesman_name);
+ $stmt->bindParam(":files_id", $files_id);
+ $stmt->bindParam(":created_at", $created_at);
+ $stmt->bindParam(":created_by", $created_by);
+ $stmt->bindParam(":qc", $qc);
+ $stmt->execute();
+
+
+ $result = $conn->commit();
+ if ($result) {
+ header("HTTP/1.1 201 Created");
+ }
+ } catch (PDOException $e) {
+ $conn->rollback();
+ header("HTTP/1.1 500 Internal Server Error");
+ die('Error!:' . $e->getMessage());
+ }
+}
+
+function T8Insert($data)
+{
+ require_once("../connt8.php");
+
+ $contractno = $data['contractno'];
+ $partyA = $data['customer'];
+ $phone = $data['lm_tel'];
+ $vat = $data['vat'];
+ $partyAaddress = $data['address'];
+ $user_id = $data['user_id'];
+ $salesman = $data['salesman'];
+ $createAt = date("Y-m-dH-i-s");
+ $createTime = str_replace('-', '', $createAt);
+
+
+ $connT8->beginTransaction();
+
+ $sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId";
+ $stmt = $conn->prepare($sql);
+ $stmt->bindParam(':BizPartnerId', $contractno);
+ $stmt->execute();
+ $result = $stmt->fetch(PDO::FETCH_ASSOC);
+ // 新增客戶 table
+ if (empty($result)) {
+ // 若 客戶資料為空,新增一筆到 comCustomer
+ // 新增客戶資料
+ $sql = "INSERT INTO comBusinessPartner
+ (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,EMail,CreatorId,CreateTime,BizPartnerTypeId)
+ VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:EMail,:CreatorId,:CreateTime,'10')";
+ $stmt = $connT8->prepare($sql);
+ $stmt->bindParam(':BizPartnerId', $contractno);
+ $stmt->bindParam(':BizPartnerName', $partyA); //客戶名稱
+ $stmt->bindParam(':WorkTelNo', $phone);
+ $stmt->bindParam(':TaxNo', $vat);
+ // $stmt->bindParam(':EnterpriseName', $customer); //企業名稱
+ $stmt->bindParam(':ContactAddress', $partyAaddress);
+ $stmt->bindParam(':EMail', $email);
+ $stmt->bindParam(':CreatorId', $user_id);
+ $stmt->bindParam(':CreateTime', $createTime);
+
+ $stmt->execute();
+
+ $sql = "INSERT INTO comCustomer
+ (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)
+ VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')";
+ $stmt = $connT8->prepare($sql);
+
+ $stmt->bindParam(':BizPartnerId', $contractno);
+ $stmt->bindParam(':PersonId', $salesman);
+ $stmt->bindParam(':CreatorId', $user_id);
+ $stmt->bindParam(':InvoiceAddress', $address);
+ $stmt->bindParam(':CreateTime', $createTime);
+
+ $stmt->execute();
+ } else {
+ // // 若客戶資料不為空,更新該客戶資訊。
+ $sql = "UPDATE comCustomer SET
+ PersonId=:PersonId,
+ InvoiceAddress=:InvoiceAddress,
+ LastOperatorId=:LastOperatorId,
+ LastOperateTime=:LastOperateTime
+ WHERE BizPartnerId=:BizPartnerId
+ ";
+ $stmt = $connT8->prepare($sql);
+ $stmt->bindParam(':PersonId', $salesman);
+ $stmt->bindParam(':InvoiceAddress', $address);
+ $stmt->bindParam(':LastOperatorId', $user_id);
+ $stmt->bindParam(':LastOperateTime', $createTime);
+ $stmt->bindParam(':BizPartnerId', $contractno);
+ $stmt->execute();
+
+
+ $sql = "UPDATE comBusinessPartner SET
+ BizPartnerName=:BizPartnerName,
+ WorkTelNo=:WorkTelNo,
+ TaxNo=:TaxNo,
+ EnterpriseName=:EnterpriseName,
+ ContactAddress=:ContactAddress,
+ EMail=:EMail,
+ LastOperatorId=:LastOperatorId,
+ LastOperateTime=:LastOperateTime
+ WHERE BizPartnerId = :BizPartnerId
+ ";
+ $stmt = $connT8->prepare($sql);
+ $stmt->bindParam(':BizPartnerName', $partyA);
+ $stmt->bindParam(':WorkTelNo', $phone);
+ $stmt->bindParam(':TaxNo', $vat);
+ $stmt->bindParam(':EnterpriseName', $customer);
+ $stmt->bindParam(':ContactAddress', $partyAaddress);
+ $stmt->bindParam(':EMail', $email);
+ $stmt->bindParam(':LastOperatorId', $user_id);
+ $stmt->bindParam(':LastOperateTime', $createTime);
+ $stmt->bindParam(':BizPartnerId', $contractno);
+ $stmt->execute();
+ }
+
+ $sql = "SELECT * FROM comProject WHERE ProjectId = :ProjectId";
+ $stmt = $connT8->prepare($sql);
+ $stmt->bindParam(':ProjectId', $contractno);
+ $stmt->execute();
+ $resultProject = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ if (empty($resultProject)) {
+ //新增於 comProject。合約 table
+ $sql = "INSERT INTO comProject(ProjectId,ProjectName,TypeId,CreateTime,CreatorId,IsInUsed)
+ VALUES(:ProjectId,:ProjectName,'C0',:CreateTime,:CreatorId,1)";
+ $stmt = $connT8->prepare($sql);
+ $stmt->bindParam(':ProjectId', $contractno);
+ $stmt->bindParam(':ProjectName', $customer);
+ $stmt->bindParam(':CreateTime', $createTime);
+ $stmt->bindParam(':CreatorId', $user_id);
+ $stmt->execute();
+ }
+}
diff --git a/wms/contract/js/alpine.js b/wms/contract/js/alpine.js
index 41a8dd67..9dc76b6c 100644
--- a/wms/contract/js/alpine.js
+++ b/wms/contract/js/alpine.js
@@ -810,7 +810,7 @@ const contractNewInput = () => {
return {
init() { },
data: {
- contractno: '',
+ contractno: 'M23090149',
customer: '',
manager: '',
vat: '',
@@ -847,6 +847,9 @@ const contractNewInput = () => {
},
getContractDate() {
axios.get('./api/getContractData.php?contracttype=m&contractno=' + this.data.contractno).then(res => {
+ console.log(res);
+
+
if (!res.data) {
this.step = 2
this.isLoading = false
@@ -854,14 +857,14 @@ const contractNewInput = () => {
}
if (!this.customize) {
console.log(res.data);
- this.data.customer = res.data.customer
+ this.data.customer = res.data.company
this.data.manager = res.data.manager
this.data.vat = res.data.uscc
this.data.case_name = res.data.case_name
this.data.linkman = res.data.linkman
this.data.lm_tel = res.data.lm_tel
this.data.address = res.data.address
- this.data.salesman = res.data.salesman
+ this.data.salesman = res.data.person
this.data.qc = res.data.qc
}
this.step = 2
diff --git a/wms/contract_b-index.php b/wms/contract_b-index.php
new file mode 100644
index 00000000..8b3066ca
--- /dev/null
+++ b/wms/contract_b-index.php
@@ -0,0 +1,309 @@
+";
+// echo $sql;
+// echo "";
+// exit;
+
+$data = $conn->query($sql);
+if ($data) :
+?>
+
+
+
+
營業人員/契約人員 | +部門 | +合約號 | +單據號 | +客戶名稱 | +單據日期 | +最後收款日 | +追蹤狀態 | +金額 | +明細 | +
---|---|---|---|---|---|---|---|---|---|
+ "; + echo $row['PersonName']; + ?> + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ + | ++ diff($date2); + $months = $interval->m; + $months += $interval->y * 12; + if ($date1 <= $date2) { + echo "合約已過期"; + } else if ($months <= 2) { + echo "合約快到期"; + } else { + echo "合約未到期"; + } + ?> + | ++ + | ++ + | +