10994015 1 year ago
parent
commit
3ef1ef0511
  1. 14
      wms/T8_Authorization_from_bpm.php
  2. 35
      wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php
  3. 3
      wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php
  4. 9
      wms/contract/api/T8api.php
  5. 31
      wms/contract/api/getFacilityNo.php
  6. 62
      wms/contract/api/getT8NewContractData.php
  7. 43
      wms/contract/api/postContractData.php
  8. 142
      wms/contract/api/postNewContractData.php
  9. 363
      wms/contract/api/test copy.json
  10. 53
      wms/contract/api/testT8API.php
  11. 6
      wms/contract/conn.php
  12. 2
      wms/contract/contract-newelevator-input.php
  13. 11
      wms/contract/js/alpine.js

14
wms/T8_Authorization_from_bpm.php

@ -1,8 +1,7 @@
<?php <?php
// $user_id = "M0000";
// $user_password = "M012290493119";
function get_Auth($user_id = "M0000", $user_password = "M012290493119")
// echo $validation = get_Auth($user_id, $user_password); // echo $validation = get_Auth($user_id, $user_password);
// function get_Auth($user_id = "ADMIN", $user_password = "chi") // function get_Auth($user_id = "ADMIN", $user_password = "chi")
function get_Auth($user_id = "M0000", $user_password = "M012290493119") function get_Auth($user_id = "M0000", $user_password = "M012290493119")
@ -13,14 +12,14 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119")
// $now = gmdate("YmdHis"); // $now = gmdate("YmdHis");
$now = gmdate("YmdHis", strtotime("-2 minutes")); $now = gmdate("YmdHis", strtotime("-2 minutes"));
$data = "$user_id." . $now; $data = "$user_id." . $now;
// $sign = hash_hmac('SHA256', $data, 'A21181F1EE4966D3', false);
$sign = hash_hmac('SHA256', $data, '91EB2CB12C3F8211', false); $sign = hash_hmac('SHA256', $data, '91EB2CB12C3F8211', false);
// $sign = hash_hmac('SHA256', $data, 'A733DAD19527399E', false); 普來特富
// echo $sign; // echo $sign;
// $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth'; $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth';
$apiurl = 'http://60.244.87.101:880//twWebAPI/GetAuth'; // $apiurl = 'http://60.244.87.101:880//twWebAPI/GetAuth';
// $apiurl = 'http://101.132.66.206:880/twWebAPI/GetAuth'; 普來特富 // $apiurl = 'http://101.132.66.206:880/twWebAPI/GetAuth';
// $apiurl = 'http://10.10.145.2:880//twWebAPI/GetAuth'; // $apiurl = 'http://10.10.145.2:880//twWebAPI/GetAuth';
// $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth'; // $apiurl = 'https://erp.masada.com.tw:780/twWebAPI/GetAuth';
@ -53,4 +52,5 @@ function get_Auth($user_id = "M0000", $user_password = "M012290493119")
curl_close($ch); curl_close($ch);
} }
// $data = []; // $data = [];
get_Auth(); // get_Auth();
// exit();

35
wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0.php

@ -32,12 +32,13 @@ result_array[
function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $sales_id, $region_manger_id){ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_price, $elevator_pay_kind, $sales_id, $region_manger_id)
{
$bonus_array = []; $bonus_array = [];
if ($ver == "1.0"){ if ($ver == "1.0") {
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) #合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer)
switch ($contract_type){ switch ($contract_type) {
case "strategy_customer": case "strategy_customer":
#契約員獎金($sales_bonus) #契約員獎金($sales_bonus)
$sales_bonus = $elevator_knockdown_price * 0.007; $sales_bonus = $elevator_knockdown_price * 0.007;
@ -54,7 +55,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
}; };
#營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20%
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱
"bonus_receiver" => $sales_id, #發放人員 "bonus_receiver" => $sales_id, #發放人員
"bonus_amount" => round($sales_bonus * 0.2), #金額 "bonus_amount" => round($sales_bonus * 0.2), #金額
@ -63,7 +64,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
#營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱
"bonus_receiver" => $sales_id, #發放人員 "bonus_receiver" => $sales_id, #發放人員
"bonus_amount" => round($sales_bonus * 0.5), #金額 "bonus_amount" => round($sales_bonus * 0.5), #金額
@ -72,7 +73,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
#營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱
"bonus_receiver" => $sales_id, #發放人員 "bonus_receiver" => $sales_id, #發放人員
"bonus_amount" => round($sales_bonus * 0.3), #金額 "bonus_amount" => round($sales_bonus * 0.3), #金額
@ -81,7 +82,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
#區域經理獎金水庫-----訂金已收款100%,發放總獎金50% #區域經理獎金水庫-----訂金已收款100%,發放總獎金50%
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱
"bonus_receiver" => $region_manger_id, #發放人員 "bonus_receiver" => $region_manger_id, #發放人員
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 "bonus_amount" => round($region_manager_bonus * 0.5), #金額
@ -90,7 +91,7 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
#區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50%
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱
"bonus_receiver" => $region_manger_id, #發放人員 "bonus_receiver" => $region_manger_id, #發放人員
"bonus_amount" => round($region_manager_bonus * 0.5), #金額 "bonus_amount" => round($region_manager_bonus * 0.5), #金額
@ -99,12 +100,12 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
$result_array = [ $result_array = [
"ver"=>$ver, #獎金版本 "ver" => $ver, #獎金版本
"result_status"=>"success", #計算結果 "result_status" => "success", #計算結果
"bonus_array"=>$bonus_array #獎金水庫 "bonus_array" => $bonus_array #獎金水庫
]; ];
}else{ } else {
array_push($bonus_array,[ array_push($bonus_array, [
"bonus_type" => "error", #獎金名稱 "bonus_type" => "error", #獎金名稱
"bonus_receiver" => "error", #發放人員 "bonus_receiver" => "error", #發放人員
"bonus_amount" => 0, #金額 "bonus_amount" => 0, #金額
@ -113,13 +114,11 @@ function elevator_new_deal_bonus_v1_0($ver, $contract_type, $elevator_knockdown_
]); ]);
$result_array = [ $result_array = [
"ver"=>$ver, #獎金版本 "ver" => $ver, #獎金版本
"result_status"=>"error", #計算結果 "result_status" => "error", #計算結果
"bonus_array"=>$bonus_array #獎金水庫 "bonus_array" => $bonus_array #獎金水庫
]; ];
}; };
return $result_array; return $result_array;
}; };
?>

3
wms/bonus/elevator_new/elevator_new_deal_bonus_v2_0.php

@ -10,7 +10,7 @@
區域經理員工號($region_manger_id) 區域經理員工號($region_manger_id)
【2.函數中的變數說明】 【2.函數中的變數說明】
銷售點數($discount):作番賣價($elevator_knockdown_price) 除以 作番表價($elevator_list_price) // 銷售點數($discount):作番賣價($elevator_knockdown_price) 除以 作番表價($elevator_list_price)
營業員獎金($sales_bonus) 營業員獎金($sales_bonus)
區域經理提成獎金($region_manager_bonus) 區域經理提成獎金($region_manager_bonus)
獎金預計發放階段($payment_schedule_due):deposit(訂金)、shipping(出貨款)、deliveried(貨到工地款)、acceptance(驗收款) 獎金預計發放階段($payment_schedule_due):deposit(訂金)、shipping(出貨款)、deliveried(貨到工地款)、acceptance(驗收款)
@ -39,6 +39,7 @@ function elevator_new_deal_bonus_v2_0($ver, $contract_type, $elevator_type, $ele
{ {
$bonus_array = []; $bonus_array = [];
if ($ver == "2.0") { if ($ver == "2.0") {
$elevator_knockdown_price = round($elevator_knockdown_price / 1.05); //不含稅
$discount = round($elevator_knockdown_price / $elevator_list_price, 3); #銷售點數,取到小數點第三位。 $discount = round($elevator_knockdown_price / $elevator_list_price, 3); #銷售點數,取到小數點第三位。
#合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) #合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer)

9
wms/contract/api/T8api.php

@ -6,12 +6,13 @@ function T8salIncomeApply($data, $api_url)
// $api_url = 'https://erp.masada.com.tw:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData'; // $api_url = 'https://erp.masada.com.tw:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData';
$validation = get_Auth(); $validation = get_Auth();
// echo '<pre>'; echo '<pre>';
// print_r(json_encode($data, JSON_UNESCAPED_UNICODE)); print_r($validation);
// echo '</pre>'; echo '</pre>';
// exit;
$header = [ $header = [
"CHI_Authorization :" . $validation, "CHI_Authorization :" . $validation,
"GroupId:TEST" "GroupId:MASADA"
]; ];
$ch = curl_init(); $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url); // 设置请求的URL curl_setopt($ch, CURLOPT_URL, $api_url); // 设置请求的URL

31
wms/contract/api/getFacilityNo.php

@ -378,16 +378,31 @@ class CreateFacilityNo
* @param string|array $facility_no * @param string|array $facility_no
* @return boolean $status : true:沒重複 false:重複 * @return boolean $status : true:沒重複 false:重複
*/ */
function checkFacilityRepeatStatus($facility_no) function checkFacilityRepeatStatus($facility_no)
{ {
// worksite wipwholestatus
// 檢查 substring 後五碼
if (gettype($facility_no) == "string") { if (gettype($facility_no) == "string") {
$pdo = $this->connectionDB(); $pdo = $this->connectionDB();
$pdo->exec('SET CHARACTER SET utf8mb4'); $pdo->exec('SET CHARACTER SET utf8mb4');
$sth = $pdo->prepare('SELECT * FROM `facility` WHERE `facilityno` = ?'); $sth = $pdo->prepare('SELECT * FROM `worksite` WHERE `facilityno` = ?');
$sth->bindValue(1, $facility_no); $sth->bindValue(1, $facility_no);
$sth->execute(); $sth->execute();
if ($sth->rowCount() == 0) if ($sth->rowCount() == 0) {
return true; return true;
}
$facility_no = substr($facility_no, -5);
echo $facility_no;
$pdo = $this->connectionDB();
$pdo->exec('SET CHARACTER SET utf8mb4');
$sth = $pdo->prepare("SELECT * FROM `wipwholestatus` WHERE `facilityno` LIKE '%?'");
$sth->bindValue(1, '%' . $facility_no . '%');
$sth->execute();
if ($sth->rowCount() == 0) {
return true;
}
return false; return false;
} }
if (gettype($facility_no) == "array") { if (gettype($facility_no) == "array") {
@ -395,11 +410,21 @@ class CreateFacilityNo
$pdo->exec('SET CHARACTER SET utf8mb4'); $pdo->exec('SET CHARACTER SET utf8mb4');
$status = true; $status = true;
foreach ($facility_no as $row) { foreach ($facility_no as $row) {
$sth = $pdo->prepare('SELECT * FROM `facility` WHERE `facilityno` = ?'); $sth = $pdo->prepare('SELECT * FROM `worksite` WHERE `facilityno` = ?');
$sth->bindValue(1, $row); $sth->bindValue(1, $row);
$sth->execute(); $sth->execute();
if ($sth->rowCount() !== 0) if ($sth->rowCount() !== 0)
$status = false; $status = false;
$row = substr($row, -5);
$pdo = $this->connectionDB();
$pdo->exec('SET CHARACTER SET utf8mb4');
$sth = $pdo->prepare("SELECT * FROM `wipwholestatus` WHERE `facilityno` LIKE ?");
$sth->bindValue(1, '%' . $row . '%');
$sth->execute();
if ($sth->rowCount() != 0) {
$status = false;
}
} }
return $status; return $status;
} }

62
wms/contract/api/getT8NewContractData.php

@ -0,0 +1,62 @@
<?php
require_once('../conn.php');
$sql = "SELECT
BillNo, -- 合約號
OAmount -- 合約未稅金額
FROM salSalesOrder WHERE 1=1";
$stmt = $connT8->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// echo "<pre>";
// print_r($result);
// echo "</pre>";
// exit();
$result_detail = [];
$result_master = [];
$result_arr = [];
foreach ($result as $key => $result) {
$no = $result['BillNo'];
$result_master['BillNo'] = $no;
$firstChar = substr($no, 0, 1);
if ($firstChar == 'M' && $key <= 100) {
$sql = "SELECT BizPartnerName FROM comBusinessPartner WHERE BizPartnerId = '$no' ";
$stmt = $connT8->prepare($sql);
$stmt->execute();
$customer_name = $stmt->fetch(PDO::FETCH_ASSOC);
// $result_master[] = $result;
$sql = "SELECT
BillNo, -- 合約號
PayStage, -- 收款階段
PlanPercentage, -- 收款比例
PlanPayAmt -- 收款金額
FROM salOrderStagePay WHERE BillNo = '$no'";
$stmt = $connT8->prepare($sql);
$stmt->execute();
$Detail = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (!empty($Detail)) {
foreach ($Detail as $key => $detail) {
$detail['PlanPercentage'] = (float)$detail['PlanPercentage'];
$Detail[$key]['PlanPercentage'] = $detail['PlanPercentage']; // 比例轉小數第二位
$Detail[$key]['PlanPayAmt'] = intval($detail['PlanPayAmt']); // 比例金額轉整數
}
if (mb_substr($Detail[0]['PayStage'], 0, 2) == '寶佳') {
$result_master['customer_status'] = 'strategy_customer';
} else if (!empty($customer_name) && mb_substr($customer_name['BizPartnerName'], 0, 1) == '【') {
$result_master['customer_status'] = 'strategy_customer';
} else {
$result_master['customer_status'] = 'general_customer';
}
$result_master['total_price'] = intval($result['OAmount']);
$result_master['detail'] = $Detail;
$result_arr[] = $result_master;
}
}
}
echo "<pre>";
print_r($result_arr);
echo "</pre>";

43
wms/contract/api/postContractData.php

@ -1,3 +1,5 @@
<meta charset="UTF-8">
<?php <?php
require_once("../conn.php"); require_once("../conn.php");
// require_once("../connt8.php"); // require_once("../connt8.php");
@ -66,13 +68,14 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
echo json_encode($facility_arr); echo json_encode($facility_arr);
// 電梯做番號 // 電梯做番號
$facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num);
echo json_encode($facilityno);
T8insert($_POST, $facilityno, $depId, $connT8);
// if ($user_id == 'M0225') { // if ($user_id == 'M0225') {
// echo '<pre>'; // echo '<pre>';
// print_r($facilityno); // print_r($facilityno);
// echo '</pre>'; // echo '</pre>';
// exit(); // exit();
// } // }
echo json_encode($facilityno);
$fail_arr = []; $fail_arr = [];
if ($contractno === '') return $fail_arr[] = '合約號為必填'; if ($contractno === '') return $fail_arr[] = '合約號為必填';
if ($total_price == '') $fail_arr[] = '合約總價為必填'; if ($total_price == '') $fail_arr[] = '合約總價為必填';
@ -100,10 +103,9 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
echo json_encode($fail_arr); echo json_encode($fail_arr);
exit(); exit();
} }
T8insert($_POST, $facilityno, $depId);
/// 獎金計算 /// 獎金計算
$aaa = bonusCreate($_POST, $facilityno, $conn); $aaa = bonusCreate($_POST, $facilityno, $conn);
if ($aaa['status'] == 2) { if (!empty($aaa) && $aaa['status'] == 2) {
header("HTTP/1.1 422 Unprocessable Entity"); header("HTTP/1.1 422 Unprocessable Entity");
echo $aaa['data']; echo $aaa['data'];
exit(); exit();
@ -387,12 +389,13 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
} }
}; };
function T8insert($data, $facilityno, $depId) function T8insert($data, $facilityno, $depId, $connT8)
{ {
require_once("../connt8.php"); // require_once("../conn.php");
// 引入 T8 API 連線 // 引入 T8 API 連線
require_once("./T8api.php"); require_once("./T8api.php");
$contractno = !empty($data['contractno']) ? $data['contractno'] : null; // 合約號 $contractno = !empty($data['contractno']) ? $data['contractno'] : null; // 合約號
$address = !empty($data['address']) ? $data['address'] : null; // 客戶地址 $address = !empty($data['address']) ? $data['address'] : null; // 客戶地址
$customer = !empty($data['customer']) ? $data['customer'] : null; //企業名稱 $customer = !empty($data['customer']) ? $data['customer'] : null; //企業名稱
@ -414,7 +417,7 @@ function T8insert($data, $facilityno, $depId)
$connT8->beginTransaction(); $connT8->beginTransaction();
$sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId"; $sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId";
$stmt = $conn->prepare($sql); $stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno); $stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC); $result = $stmt->fetch(PDO::FETCH_ASSOC);
@ -428,6 +431,7 @@ function T8insert($data, $facilityno, $depId)
echo 'Error'; echo 'Error';
exit; exit;
} }
if (empty($result)) { if (empty($result)) {
// 若 客戶資料為空,新增一筆到 comCustomer // 若 客戶資料為空,新增一筆到 comCustomer
// 新增客戶資料 // 新增客戶資料
@ -589,25 +593,6 @@ function T8insert($data, $facilityno, $depId)
$row++; $row++;
// 計算分期款的收款月份 // 計算分期款的收款月份
$paymonth = $i * $IncomeId[$payType]; $paymonth = $i * $IncomeId[$payType];
// switch($IncomeId[$payType]):
// case (1):
// $paymonth = $i * $IncomeId[$payType];
// $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth years"));
// break;
// case (2):
// $paymonth = $i * $IncomeId[$payType];
// $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months"));
// break;
// case (12):
// $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months"));
// break;
// case (6):
// $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months"));
// break;
// case (2):
// $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months"));
// break;
$countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months")); $countDay = date('Y-m-d', strtotime("$date_1 + $paymonth months"));
$payDay = str_replace('-', '', $countDay); $payDay = str_replace('-', '', $countDay);
$rows_data = [ $rows_data = [
@ -666,10 +651,10 @@ function T8insert($data, $facilityno, $depId)
$API_body[] = $salIncomeApplyMaster; $API_body[] = $salIncomeApplyMaster;
$API_body[] = $salIncomeApplyDetail; $API_body[] = $salIncomeApplyDetail;
// 呼叫 API // 呼叫 API
// echo '<pre>'; echo '<pre>';
// print_r($API_body); print_r($API_body);
// echo '</pre>'; echo '</pre>';
$api_url = 'https://erp.masada.com.tw:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData'; $api_url = 'http://10.10.145.2:880/twWebAPI/V1/SALINCOMEAPPLY/PostERPData';
$result = T8salIncomeApply($API_body, $api_url); $result = T8salIncomeApply($API_body, $api_url);
if ($result['Status'] == 'Error' || $result['Status'] == 'Fails') { if ($result['Status'] == 'Error' || $result['Status'] == 'Fails') {

142
wms/contract/api/postNewContractData.php

@ -16,7 +16,7 @@ if ($_SERVER['REQUEST_METHOD'] != 'POST') {
} }
//新梯簽回 //新梯簽回
if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'm') { if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['contracttype']) && $_POST['contracttype'] == 'm') {
try {
$created_at = date('Y-m-d H:i:s'); $created_at = date('Y-m-d H:i:s');
$created_by = $_POST["user_id"]; $created_by = $_POST["user_id"];
$contractno = $_POST["contractno"]; $contractno = $_POST["contractno"];
@ -28,7 +28,6 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$lm_tel = $_POST["lm_tel"]; $lm_tel = $_POST["lm_tel"];
$address = $_POST["address"]; $address = $_POST["address"];
$salesman = $_POST["salesman"]; $salesman = $_POST["salesman"];
$qc = $_POST["qc"];
$contracttype = $_POST["contracttype"]; $contracttype = $_POST["contracttype"];
$elevators_nums = $_POST['nums']; $elevators_nums = $_POST['nums'];
$area_no = $_POST['area_no']; $area_no = $_POST['area_no'];
@ -42,21 +41,21 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$files_id = null; $files_id = null;
$fail_arr = []; $fail_arr = [];
// if (empty($contractno)) $fail_arr[] = '合約號為必填'; if (empty($contractno)) $fail_arr[] = '合約號為必填';
// if (empty($customer)) $fail_arr[] = '客戶名稱為必填'; if (empty($customer)) $fail_arr[] = '客戶名稱為必填';
// if (empty($manager)) $fail_arr[] = '負責人為必填'; if (empty($manager)) $fail_arr[] = '負責人為必填';
// if (empty($vat)) $fail_arr[] = '統編/身分證為必填'; // if (empty($vat)) $fail_arr[] = '統編/身分證為必填';
// if (empty($case_name)) $fail_arr[] = '案名為必填'; if (empty($case_name)) $fail_arr[] = '案名為必填';
// if (empty($linkman)) $fail_arr[] = '聯絡人為必填'; if (empty($linkman)) $fail_arr[] = '聯絡人為必填';
// if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填'; if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填';
// if (empty($address)) $fail_arr[] = '地址為必填'; if (empty($address)) $fail_arr[] = '地址為必填';
// if (empty($salesman)) $fail_arr[] = '營業員為必填'; if (empty($salesman)) $fail_arr[] = '營業員為必填';
// if (empty($qc)) $fail_arr[] = '請選擇QC或官檢'; // if (empty($elevators_detail_arr['qc'])) $fail_arr[] = '請選擇QC或官檢';
// if (count($fail_arr) > 0) { if (count($fail_arr) > 0) {
// header("HTTP/1.1 422 Unprocessable Entity"); header("HTTP/1.1 422 Unprocessable Entity");
// echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE);
// exit(); exit();
// } }
//create facility table //create facility table
$createFacilityNo = new CreateFacilityNo(); $createFacilityNo = new CreateFacilityNo();
$dailyNecessities = [ $dailyNecessities = [
@ -76,16 +75,18 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$facilityno = $createFacilityNo->makeMFacilityNo('M', $arr, intval($elevators_nums)); $facilityno = $createFacilityNo->makeMFacilityNo('M', $arr, intval($elevators_nums));
echo json_encode($facilityno); echo json_encode($facilityno);
$bonus_result = BounsCount($_POST, $conn, $facilityno); // $bonus_result = BounsCount($_POST, $conn, $facilityno);
if (!empty($bonus_result) && $bonus_result['status'] == "2") {
$fail_arr[] = '獎金計算錯誤,請再檢查或連繫資訊人員'; // if (!empty($bonus_result) && $bonus_result['status'] == "2") {
// header("HTTP/1.1 422 Unprocessable Entity"); // $fail_arr[] = '獎金計算錯誤,請再檢查或連繫資訊人員';
echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); // // header("HTTP/1.1 422 Unprocessable Entity");
exit(); // echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE);
} // exit();
// }
T8Insert($_POST, $facilityno, $connT8); T8Insert($_POST, $facilityno, $connT8);
exit(); // exit();
try {
$conn->beginTransaction(); $conn->beginTransaction();
//create account table //create account table
@ -122,8 +123,8 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$site_manager = $value['manage']; $site_manager = $value['manage'];
$warehouseid = $value['warehouseid']; $warehouseid = $value['warehouseid'];
$sql = "INSERT INTO Wipwholestatus $sql = "INSERT INTO Wipwholestatus
(contract_type,contractno,salesid,custom,accountid,site_manager,warehouseid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,area_no,address,contract_arrival_date,real_contract_arrival_date,qc_official_type,creater,create_at) VALUES (contract_type,contractno,salesid,custom,accountid,site_manager,warehouseid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,area_no,address,contract_arrival_date,real_contract_arrival_date,qc_official_type,creater,create_at,desin_spec_verify) VALUES
('A',:contractno,:salesid,:custom,:accountid,:site_manager,:warehouseid,:facilityno,:weight,:numberofpassenger,:numberoffloor,:opentype,:speed,:facility_kind,:area_no,:address,:contract_arrival_date,:real_contract_arrival_date,:qc_official_type,:creater,:create_at)"; ('A',:contractno,:salesid,:custom,:accountid,:site_manager,:warehouseid,:facilityno,:weight,:numberofpassenger,:numberoffloor,:opentype,:speed,:facility_kind,:area_no,:address,:contract_arrival_date,:real_contract_arrival_date,:qc_official_type,:creater,:create_at,1)";
// $sql = "INSERT INTO Wipwholestatus // $sql = "INSERT INTO Wipwholestatus
// (contract_type,contractno,salesid,custom,accountid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,address,contract_arrival_date,qc_official_type,creater,create_at) VALUES // (contract_type,contractno,salesid,custom,accountid,facilityno,weight,numberofpassenger,numberoffloor,opentype,speed,facility_kind,address,contract_arrival_date,qc_official_type,creater,create_at) VALUES
// ('A','$contractno','$salesman','$customer','$customer','$facilityno','$weight','$person','$floor','$open','$speed','$facility_kind','$address','$contract_arrival_date','$qc','$created_by','$created_at')"; // ('A','$contractno','$salesman','$customer','$customer','$facilityno','$weight','$person','$floor','$open','$speed','$facility_kind','$address','$contract_arrival_date','$qc','$created_by','$created_at')";
@ -153,6 +154,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
// echo "<pre>"; // echo "<pre>";
// print_r($lastId); // print_r($lastId);
// echo "</pre>"; // echo "</pre>";
// exit;
if (!empty($lastId)) { if (!empty($lastId)) {
echo '123'; echo '123';
// 寫入待簽程狀態 A (營業) // 寫入待簽程狀態 A (營業)
@ -180,24 +182,24 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$stmt->execute(); $stmt->execute();
// create table schedule // create table schedule
$contract_begin_date = ''; // $contract_begin_date = '';
$contract_end_date = ''; // 一年 // $contract_end_date = ''; // 一年
$comboNo = new CreateComboNo('em', $contract_begin_date, $contract_end_date); // $comboNo = new CreateComboNo('em', $contract_begin_date, $contract_end_date);
$comboArr = json_decode($comboNo->getComboNo(), true); // $comboArr = json_decode($comboNo->getComboNo(), true);
foreach ($comboArr as $combo) { // foreach ($comboArr as $combo) {
$sql_str = 'INSERT INTO schedule (contractno, facilityno, combono, repairerid, repairername, duedate, creater, create_at) VALUES (:contractno, :facilityno, :combono, :repairerid, :repairername, :duedate, :creater, :create_at)'; // $sql_str = 'INSERT INTO schedule (contractno, facilityno, combono, repairerid, repairername, duedate, creater, create_at) VALUES (:contractno, :facilityno, :combono, :repairerid, :repairername, :duedate, :creater, :create_at)';
$stmt = $conn->prepare($sql_str); // $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':contractno', $contractno); // $stmt->bindParam(':contractno', $contractno);
$stmt->bindParam(':facilityno', $facility_no); // $stmt->bindParam(':facilityno', $facility_no);
$stmt->bindParam(':combono', $combo[0]); // $stmt->bindParam(':combono', $combo[0]);
$stmt->bindParam(':repairerid', $repairerid); // $stmt->bindParam(':repairerid', $repairerid);
$stmt->bindParam(':repairername', $repairername); // $stmt->bindParam(':repairername', $repairername);
$stmt->bindParam(':duedate', $combo[1]); // $stmt->bindParam(':duedate', $combo[1]);
$stmt->bindParam(':creater', $creater); // $stmt->bindParam(':creater', $creater);
$stmt->bindParam(':create_at', $create_at); // $stmt->bindParam(':create_at', $create_at);
$result = $stmt->execute(); // $result = $stmt->execute();
} // }
} // }
@ -263,7 +265,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$files = null; $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)"; $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) VALUES (:contract_no, :customer, :manager, :vat, :case_name, :linkman, :lm_tel, :address, :salesman, :salesman_name, :files_id, :created_at, :created_by)";
$stmt = $conn->prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt->bindParam(":contract_no", $contractno); $stmt->bindParam(":contract_no", $contractno);
$stmt->bindParam(":customer", $customer); $stmt->bindParam(":customer", $customer);
@ -278,7 +280,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
$stmt->bindParam(":files_id", $files_id); $stmt->bindParam(":files_id", $files_id);
$stmt->bindParam(":created_at", $created_at); $stmt->bindParam(":created_at", $created_at);
$stmt->bindParam(":created_by", $created_by); $stmt->bindParam(":created_by", $created_by);
$stmt->bindParam(":qc", $qc); // $stmt->bindParam(":qc", $qc);
$stmt->execute(); $stmt->execute();
@ -286,6 +288,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
if ($result) { if ($result) {
header("HTTP/1.1 201 Created"); header("HTTP/1.1 201 Created");
} }
}
} catch (PDOException $e) { } catch (PDOException $e) {
$conn->rollback(); $conn->rollback();
header("HTTP/1.1 500 Internal Server Error"); header("HTTP/1.1 500 Internal Server Error");
@ -295,7 +298,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c
function T8Insert($data, $facilityno, $connT8) function T8Insert($data, $facilityno, $connT8)
{ {
try { // try {
// 引入銷售訂單 API // 引入銷售訂單 API
require_once("./T8API.php"); require_once("./T8API.php");
@ -345,6 +348,7 @@ function T8Insert($data, $facilityno, $connT8)
if (empty($result)) { if (empty($result)) {
// 若 客戶資料為空,新增一筆到 comCustomer // 若 客戶資料為空,新增一筆到 comCustomer
// 新增客戶資料 // 新增客戶資料
$sql = "INSERT INTO comBusinessPartner $sql = "INSERT INTO comBusinessPartner
(BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId) (BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId)
VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:CreatorId,:CreateTime,'10')"; VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:CreatorId,:CreateTime,'10')";
@ -363,10 +367,9 @@ function T8Insert($data, $facilityno, $connT8)
$stmt->execute(); $stmt->execute();
$sql = "INSERT INTO comCustomer $sql = "INSERT INTO comCustomer
(OrgId,BizPartnerTypeId,ConditionId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) (OrgId,BizPartnerTypeId,ConditionId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)VALUES
VALUES('1000','10','TWD','0008',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')"; ('1000','10','0008','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')";
// $sql = "INSERT INTO comCustomer // $sql = "INSERT INTO comCustomer
// (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) // (OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)
// VALUES('1000','10','TWD','$contractno','$salesman','$user_id',1,'$partyAaddress','$createTime','35')"; // VALUES('1000','10','TWD','$contractno','$salesman','$user_id',1,'$partyAaddress','$createTime','35')";
@ -379,10 +382,11 @@ function T8Insert($data, $facilityno, $connT8)
$stmt->bindParam(':CreateTime', $createTime); $stmt->bindParam(':CreateTime', $createTime);
$stmt->execute(); $stmt->execute();
} else { } else {
// // 若客戶資料不為空,更新該客戶資訊。 // 若客戶資料不為空,更新該客戶資訊。
$sql = "UPDATE comCustomer SET $sql = "UPDATE comCustomer SET
PersonId=:PersonId, PersonId=:PersonId,
ConditionId='0008', ConditionId='0008',
CurrId='TWD',
InvoiceAddress=:InvoiceAddress, InvoiceAddress=:InvoiceAddress,
LastOperatorId=:LastOperatorId, LastOperatorId=:LastOperatorId,
LastOperateTime=:LastOperateTime LastOperateTime=:LastOperateTime
@ -441,13 +445,20 @@ function T8Insert($data, $facilityno, $connT8)
$stmt->bindParam(':BillNo', $contractno); $stmt->bindParam(':BillNo', $contractno);
$contractT8 = $stmt->fetch(PDO::FETCH_ASSOC); $contractT8 = $stmt->fetch(PDO::FETCH_ASSOC);
if (empty($contractT8)) { if (empty($contractT8)) {
foreach ($elevators as $index => $elevator) { foreach ($elevators as $index => $elevator) {
$count = 1; $count = 1;
// 產品集成維護 // 產品集成維護
$facility_no = $facilityno[$index]; $facility_no = $facilityno[$index];
$MaterialName = "$partyA($facility_no)"; $MaterialName = "$partyA($facility_no)";
$contract_arrival_a = $elevator['contract_arrival_date']; $contract_arrival_a = $elevator['contract_arrival_date'];
$sql = "SELECT * FROM comMaterial WHERE MaterialId = '$facility_no'";
$stmt = $connT8->prepare($sql);
$stmt->execute();
$MaterialisIt = $stmt->fetch(PDO::FETCH_ASSOC);
if (empty($MaterialisIt)) {
$sql = "INSERT INTO comMaterial $sql = "INSERT INTO comMaterial
(FOrgid,MaterialId,MaterialTypeId,MaterialCategoryId,CreatorId,CreateTime,IsInUsed) (FOrgid,MaterialId,MaterialTypeId,MaterialCategoryId,CreatorId,CreateTime,IsInUsed)
VALUES ('1000',:MaterialId,'10','A',:CreatorId,:CreateTime,1)"; VALUES ('1000',:MaterialId,'10','A',:CreatorId,:CreateTime,1)";
@ -456,7 +467,6 @@ function T8Insert($data, $facilityno, $connT8)
$stmt->bindParam(':CreatorId', $user_id); $stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':CreateTime', $createTime); $stmt->bindParam(':CreateTime', $createTime);
$stmt->execute(); $stmt->execute();
$sql = "INSERT INTO comMaterialGroup $sql = "INSERT INTO comMaterialGroup
(MaterialTypeId,MaterialId,MaterialName,MaterialCategoryId,IsInUsed,UnitId,CreatorId,CreateTime) (MaterialTypeId,MaterialId,MaterialName,MaterialCategoryId,IsInUsed,UnitId,CreatorId,CreateTime)
VALUES ('10',:MaterialId,:MaterialName,'A',1,'SET',:CreatorId,:CreateTime)"; VALUES ('10',:MaterialId,:MaterialName,'A',1,'SET',:CreatorId,:CreateTime)";
@ -495,6 +505,7 @@ function T8Insert($data, $facilityno, $connT8)
$stmt->bindParam(':CreatorId', $user_id); $stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':CreateTime', $createTime); $stmt->bindParam(':CreateTime', $createTime);
$stmt->execute(); $stmt->execute();
}
// 階段收款資訊 // 階段收款資訊
$salOrderStagePay_row = []; $salOrderStagePay_row = [];
$equipment_total = 0; $equipment_total = 0;
@ -626,24 +637,27 @@ function T8Insert($data, $facilityno, $connT8)
echo "<pre>"; echo "<pre>";
print_r(json_encode($API_body, JSON_UNESCAPED_UNICODE)); print_r(json_encode($API_body, JSON_UNESCAPED_UNICODE));
echo "</pre>"; echo "</pre>";
$api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData"; // $api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData";
// $api_url = "http://127.0.0.1:880/twWebAPI/V1/SALSALESORDER/PostERPData";
$api_url = 'http://10.10.145.2:880/twWebAPI/V1/SALSALESORDER/PostERPData';
$result = T8salIncomeApply($API_body, $api_url); $result = T8salIncomeApply($API_body, $api_url);
// echo "<pre>"; echo "<pre>";
// print_r($result); print_r($result);
// echo "</pre>"; echo "</pre>";
if ($result['Status'] == 'Fails' || $result['Status'] == 'Error') { if (!empty($result) && ($result['Status'] == 'Fails' || $result['Status'] == 'Error')) {
echo $result['ErrorMsg']; echo $result['ErrorMsg'];
} }
} else { } else {
echo '資料已新增過,請洽資訊人員'; echo '資料已新增過,請洽資訊人員';
// exit();
} }
$connT8->commit(); $connT8->commit();
} catch (PDOException $e) { // } catch (PDOException $e) {
$connT8->rollback(); // $connT8->rollback();
header("HTTP/1.1 500 Internal Server Error"); // header("HTTP/1.1 500 Internal Server Error");
die('Error!:' . $e->getMessage()); // die('Error!:' . $e->getMessage());
} // }
} }
@ -698,7 +712,6 @@ function BounsCount($data, $conn, $facilityno)
'total' => $elevator_list_price, 'total' => $elevator_list_price,
'fee_per_st' => $elevator_knockdown_price 'fee_per_st' => $elevator_knockdown_price
]; ];
if (!empty($result_bonus)) { if (!empty($result_bonus)) {
if ($result_bonus['result_status'] != "error") { if ($result_bonus['result_status'] != "error") {
foreach ($result_bonus['bonus_array'] as $i => $result) { foreach ($result_bonus['bonus_array'] as $i => $result) {
@ -748,9 +761,6 @@ function BounsCount($data, $conn, $facilityno)
$salesman, $salesman,
$manager $manager
); );
// echo '<pre>';
// print_r($result_bonus);
// echo '</pre>';
$facility_no = $facilityno[$key]; $facility_no = $facilityno[$key];
$bonus_json = [ $bonus_json = [
'contract_type' => $type, 'contract_type' => $type,

363
wms/contract/api/test copy.json

@ -3,18 +3,18 @@
"name": "MainSalesOrder", "name": "MainSalesOrder",
"rows": [ "rows": [
{ {
"BillNo": "M23110121", "BillNo": "M24020076",
"BillDate": 20240313, "BillDate": 20240320,
"TypeId": "SO", "TypeId": "SO",
"FOrgId": "1000", "FOrgId": "1000",
"OrgId": "1000", "OrgId": "1000",
"ModeId": "M", "ModeId": "M",
"BizPartnerId": "M23110121", "BizPartnerId": "M24020076",
"CurrId": "TWD", "CurrId": "TWD",
"CurrOAmount": 1, "CurrOAmount": 1,
"CurrLAmount": 1, "CurrLAmount": 1,
"PersonId": "M0042", "PersonId": "M0073",
"DueToId": "M23110121", "DueToId": "M24020076",
"TradeConditionId": "", "TradeConditionId": "",
"TaxId": "ST005", "TaxId": "ST005",
"CreditorCompId": "1001", "CreditorCompId": "1001",
@ -28,315 +28,42 @@
"rows": [ "rows": [
{ {
"TaxId": "ST005", "TaxId": "ST005",
"RequirementDate": 20240313, "RequirementDate": 20240320,
"ConsignmentDate": 20240313, "ConsignmentDate": 20240320,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 1, "RowCode": 1,
"ItemType": 1, "ItemType": 1,
"MaterialId": "A40001", "MaterialId": "A40001",
"SUnitId": "SET", "SUnitId": "SET",
"SQuantity": 1, "SQuantity": 1,
"SPrice": 3904000, "SPrice": 910000,
"CU_MaterialId": "4MH00836" "CU_MaterialId": "4MW00001"
}, },
{ {
"TaxId": "ST005", "TaxId": "ST005",
"RequirementDate": 20240313, "RequirementDate": 20240320,
"ConsignmentDate": 20240313, "ConsignmentDate": 20240320,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 2, "RowCode": 2,
"ItemType": 1, "ItemType": 1,
"MaterialId": "A40008", "MaterialId": "A40008",
"SUnitId": "SET", "SUnitId": "SET",
"SQuantity": 1, "SQuantity": 1,
"SPrice": 976000, "SPrice": 390000,
"CU_MaterialId": "4MH00836" "CU_MaterialId": "4MW00001"
}, },
{ {
"TaxId": "ST005", "TaxId": "ST005",
"RequirementDate": 20240313, "RequirementDate": 20240320,
"ConsignmentDate": 20240313, "ConsignmentDate": 20240320,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 3, "RowCode": 3,
"ItemType": 0, "ItemType": 0,
"MaterialId": "4MH00836", "MaterialId": "4MW00001",
"SUnitId": "SET", "SUnitId": "SET",
"SQuantity": 1, "SQuantity": 1,
"SPrice": 0, "SPrice": 0,
"CU_MaterialId": "4MH00836" "CU_MaterialId": "4MW00001"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00837"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00837"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00837",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00837"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00838"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00838"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00838",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00838"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00839"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00839"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00839",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00839"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00840"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00840"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00840",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00840"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00841"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00841"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00841",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00841"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00842"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00842"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00842",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00842"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 1,
"ItemType": 1,
"MaterialId": "A40001",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 3904000,
"CU_MaterialId": "4MH00843"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 2,
"ItemType": 1,
"MaterialId": "A40008",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 976000,
"CU_MaterialId": "4MH00843"
},
{
"TaxId": "ST005",
"RequirementDate": 20240313,
"ConsignmentDate": 20240313,
"BillNo": "M23110121",
"RowCode": 3,
"ItemType": 0,
"MaterialId": "4MH00843",
"SUnitId": "SET",
"SQuantity": 1,
"SPrice": 0,
"CU_MaterialId": "4MH00843"
} }
] ]
}, },
@ -346,52 +73,42 @@
{ {
"PayStage": "簽約", "PayStage": "簽約",
"PlanPercentage": 0.2, "PlanPercentage": 0.2,
"PlanPayAmt": 976000, "PlanPayAmt": 260000,
"PlanPayDate": 20240413, "PlanPayDate": 20240420,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 1, "RowCode": 1,
"RowNo": 1, "RowNo": 1,
"UnWriteOffOAmount": 976000 "UnWriteOffOAmount": 260000
}, },
{ {
"PayStage": "二次款", "PayStage": "貨抵工地",
"PlanPercentage": 0.4, "PlanPercentage": 0.5,
"PlanPayAmt": 1952000, "PlanPayAmt": 650000,
"PlanPayDate": 20240313, "PlanPayDate": 20241220,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 2, "RowCode": 2,
"RowNo": 2, "RowNo": 2,
"UnWriteOffOAmount": 1952000 "UnWriteOffOAmount": 650000
}, },
{ {
"PayStage": "貨抵工地", "PayStage": "試車完工",
"PlanPercentage": 0.2, "PlanPercentage": 0.2,
"PlanPayAmt": 976000, "PlanPayAmt": 260000,
"PlanPayDate": 20241104, "PlanPayDate": 20250120,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 3, "RowCode": 3,
"RowNo": 3, "RowNo": 3,
"UnWriteOffOAmount": 976000 "UnWriteOffOAmount": 260000
}, },
{ {
"PayStage": "試車完工", "PayStage": "交車",
"PlanPercentage": 0.1, "PlanPercentage": 0.1,
"PlanPayAmt": 488000, "PlanPayAmt": 130000,
"PlanPayDate": 20241204, "PlanPayDate": 20250220,
"BillNo": "M23110121", "BillNo": "M24020076",
"RowCode": 4, "RowCode": 4,
"RowNo": 4, "RowNo": 4,
"UnWriteOffOAmount": 488000 "UnWriteOffOAmount": 130000
},
{
"PayStage": "交車",
"PlanPercentage": 0.1,
"PlanPayAmt": 488000,
"PlanPayDate": 20250104,
"BillNo": "M23110121",
"RowCode": 5,
"RowNo": 5,
"UnWriteOffOAmount": 488000
} }
] ]
} }

53
wms/contract/api/testT8API.php

@ -66,34 +66,35 @@ require_once("../../T8_Authorization_from_bpm.php");
$api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData"; $api_url = "https://erp.masada.com.tw:780/twWebAPI/V1/SALSALESORDER/PostERPData";
$validation = get_Auth(); $validation = get_Auth();
// $header = [ $header = [
// "CHI_Authorization :" . $validation, "CHI_Authorization :" . $validation,
// "GroupId:TEST" "GroupId:MASADA"
// ]; ];
// $url = "https://erp.masada.com.tw:780/twWebAPI/V1/GLFEEWRITEOFF/DeleteERPData?pkValue=M24020032"; $url = "https://erp.masada.com.tw:780/twWebAPI/V1/GLFEEWRITEOFF/DeleteERPData?pkValue=1000,M24020076";
// $ch = curl_init(); $ch = curl_init();
// curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
// $response = curl_exec($ch);
// if ($response === false) {
// echo 'Curl error: ' . curl_error($ch);
// } else {
// $result = json_decode($response, true);
// // 若 API 傳入失敗。
// if ($result['Status'] == 'Erroe') {
// echo 'API傳入失敗,' . $result['ErrorMsg'];
// print_r($result);
// } else {
// // print_r($result);
// print_r($result);
// }
// print_r($result);
// }
// curl_close($ch); $response = curl_exec($ch);
// exit(); if ($response === false) {
echo 'Curl error: ' . curl_error($ch);
} else {
$result = json_decode($response, true);
// 若 API 傳入失敗。
if ($result['Status'] == 'Erroe') {
echo 'API傳入失敗,' . $result['ErrorMsg'];
print_r($result);
} else {
// print_r($result);
print_r($result);
}
print_r($result);
}
curl_close($ch);
exit();
$contract_no = "M24020003"; $contract_no = "M24020003";
// $contract_no = "M24010109"; // $contract_no = "M24010109";
$MainSalesOrder_row = [ $MainSalesOrder_row = [

6
wms/contract/conn.php

@ -34,7 +34,11 @@ try {
//設定主動以警告的形式報錯 //設定主動以警告的形式報錯
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0225", "IFFBU1E="); // $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0225", "IFFBU1E=");
// $connT8 = new PDO("sqlsrv:Server=10.10.145.2;Database=T8MASADA", "masada", "@m222222");
$connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8MASADA", "masada", "@m222222");
if ($connT8) { if ($connT8) {
$connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} }

2
wms/contract/contract-newelevator-input.php

@ -179,7 +179,7 @@ $persons = array_map(function ($person) {
<tr> <tr>
<td style="vertical-align: middle">電梯速度</td> <td style="vertical-align: middle">電梯速度</td>
<td> <td>
<input class="form-control disabled_select" type="text" x-model="elevator.person" disabled> <input class="form-control disabled_select" type="text" x-model="elevator.speed" disabled>
</td> </td>
<td style="vertical-align: middle">電梯樓停</td> <td style="vertical-align: middle">電梯樓停</td>
<td> <td>

11
wms/contract/js/alpine.js

@ -819,8 +819,6 @@ const contractNewInput = () => {
lm_tel: '', lm_tel: '',
address: '', address: '',
salesman: '', salesman: '',
qc: '',
qc: '',
price_total: '', //合約總價 price_total: '', //合約總價
files: [], files: [],
contract_type: '1', contract_type: '1',
@ -869,7 +867,7 @@ const contractNewInput = () => {
this.data.elevators_detail_arr[i].latitude = ''; // 經度 this.data.elevators_detail_arr[i].latitude = ''; // 經度
this.data.elevators_detail_arr[i].longitude = ''; // 緯度 this.data.elevators_detail_arr[i].longitude = ''; // 緯度
this.data.elevators_detail_arr[i].manage = ''; // 工地負責人 this.data.elevators_detail_arr[i].manage = ''; // 工地負責人
this.data.elevators_detail_arr[i].qc = ''; // QC和官檢 this.data.elevators_detail_arr[i].qc = 'QO'; // QC和官檢
this.data.elevators_detail_arr[i].contract_arrival_date = this.data.contract_arrival_date; //合約交期(到工地) this.data.elevators_detail_arr[i].contract_arrival_date = this.data.contract_arrival_date; //合約交期(到工地)
// this.data.elevators_detail_arr[i].area_no = ''; //區域 // this.data.elevators_detail_arr[i].area_no = ''; //區域
} }
@ -901,7 +899,7 @@ const contractNewInput = () => {
this.data.lm_tel = res.data.lm_tel this.data.lm_tel = res.data.lm_tel
this.data.address = res.data.address this.data.address = res.data.address
this.data.salesman = res.data.person this.data.salesman = res.data.person
this.data.qc = res.data.qc; // this.data.qc = res.data.qc;
this.data.price_total = res.data.price_total; this.data.price_total = res.data.price_total;
this.data.elevators = res.data.elevators; this.data.elevators = res.data.elevators;
this.data.elevators_detail_arr = res.data.elevators_detail_arr; this.data.elevators_detail_arr = res.data.elevators_detail_arr;
@ -929,7 +927,6 @@ const contractNewInput = () => {
form.append('lm_tel', this.data.lm_tel); form.append('lm_tel', this.data.lm_tel);
form.append('address', this.data.address); form.append('address', this.data.address);
form.append('salesman', this.data.salesman); form.append('salesman', this.data.salesman);
form.append('qc', this.data.qc);
form.append('signing_date', this.data.signing_date); form.append('signing_date', this.data.signing_date);
form.append('nums', this.data.nums); form.append('nums', this.data.nums);
form.append('price_total', this.data.price_total); form.append('price_total', this.data.price_total);
@ -961,7 +958,7 @@ const contractNewInput = () => {
this.customize = false this.customize = false
} else { } else {
alert('儲存失敗!可能為以下錯誤:\n' + res.data) alert('儲存失敗!')
} }
this.isLoading = false this.isLoading = false
}).catch(error => { }).catch(error => {
@ -1025,7 +1022,7 @@ const contractInput = () => {
disabled: false, //資料庫是否有電梯數量資料 disabled: false, //資料庫是否有電梯數量資料
elevators: [], //機種、載重、人乘、樓停、樓層、速度、緯度、經度、開門方式、保養別、廠牌、竣檢日、許可證日期 elevators: [], //機種、載重、人乘、樓停、樓層、速度、緯度、經度、開門方式、保養別、廠牌、竣檢日、許可證日期
payType: '', //付款方式 payType: '', //付款方式
contract_type: '' contract_type: 'new'
// bonus_verson: 2.1, // bonus_verson: 2.1,
// manager: '', // manager: '',
// regular_contract_manger_id: '', // regular_contract_manger_id: '',

Loading…
Cancel
Save