|
@ -1,10 +1,16 @@ |
|
|
|
|
|
<meta charset="UTF-8"> |
|
|
<?php |
|
|
<?php |
|
|
|
|
|
// header("Content-Type: text/html; charset=utf-8"); |
|
|
|
|
|
// echo '你好'; |
|
|
|
|
|
// exit; |
|
|
require_once("../conn.php"); |
|
|
require_once("../conn.php"); |
|
|
|
|
|
// include_once("../../fun_global.php"); |
|
|
include_once("./getFacilityNo.php"); |
|
|
include_once("./getFacilityNo.php"); |
|
|
include_once("./getComboNo.php"); |
|
|
include_once("./getComboNo.php"); |
|
|
include_once("./upload_chk.php"); |
|
|
include_once("./upload_chk.php"); |
|
|
ini_set('date.timezone', 'Asia/Taipei'); |
|
|
ini_set('date.timezone', 'Asia/Taipei'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] != 'POST') { |
|
|
if ($_SERVER['REQUEST_METHOD'] != 'POST') { |
|
|
exit(); |
|
|
exit(); |
|
|
} |
|
|
} |
|
@ -25,10 +31,13 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c |
|
|
$qc = $_POST["qc"]; |
|
|
$qc = $_POST["qc"]; |
|
|
$contracttype = $_POST["contracttype"]; |
|
|
$contracttype = $_POST["contracttype"]; |
|
|
$elevators_nums = $_POST['nums']; |
|
|
$elevators_nums = $_POST['nums']; |
|
|
$elevators = json_decode($_POST['elevators'], true); |
|
|
$area_no = $_POST['area_no']; |
|
|
$elevators_detail_arr = json_decode($_POST['elevators_detail_arr'], true); |
|
|
$elevators = json_decode($_POST['elevators'], JSON_UNESCAPED_UNICODE); |
|
|
|
|
|
$elevators_detail_arr = json_decode($_POST['elevators_detail_arr'], JSON_UNESCAPED_UNICODE); |
|
|
|
|
|
// echo "<pre>"; |
|
|
|
|
|
// print_r($elevators_detail_arr); |
|
|
|
|
|
// echo "</pre>"; |
|
|
|
|
|
// exit(); |
|
|
$files = !empty($_FILES['files']) ? $_FILES['files'] : null; |
|
|
$files = !empty($_FILES['files']) ? $_FILES['files'] : null; |
|
|
$files_id = null; |
|
|
$files_id = null; |
|
|
|
|
|
|
|
@ -67,19 +76,131 @@ 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") { |
|
|
if (!empty($bonus_result) && $bonus_result['status'] == "2") { |
|
|
// $fail_arr[] = '獎金計算錯誤,請再檢查或連繫資訊人員'; |
|
|
$fail_arr[] = '獎金計算錯誤,請再檢查或連繫資訊人員'; |
|
|
// // 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(); |
|
|
// } |
|
|
} |
|
|
|
|
|
|
|
|
T8Insert($_POST, $facilityno, $connT8); |
|
|
T8Insert($_POST, $facilityno, $connT8); |
|
|
|
|
|
|
|
|
exit(); |
|
|
exit(); |
|
|
$conn->beginTransaction(); |
|
|
$conn->beginTransaction(); |
|
|
|
|
|
|
|
|
|
|
|
//create account table |
|
|
|
|
|
$accounttype = "A"; |
|
|
|
|
|
$accountid = $vat; |
|
|
|
|
|
$pwd = "123"; |
|
|
|
|
|
$name = $customer; |
|
|
|
|
|
$tel = $lm_tel ?? ''; |
|
|
|
|
|
$sql = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, creater, create_at) |
|
|
|
|
|
VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address , :creater, :created_at)"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->bindParam(':accounttype', $accounttype); |
|
|
|
|
|
$stmt->bindParam(':accountid', $contractno); |
|
|
|
|
|
$stmt->bindParam(':pwd', $pwd); |
|
|
|
|
|
$stmt->bindParam(':name', $customer); |
|
|
|
|
|
$stmt->bindParam(':tel', $tel); |
|
|
|
|
|
$stmt->bindParam(':address', $address); |
|
|
|
|
|
$stmt->bindParam(':creater', $created_by); |
|
|
|
|
|
$stmt->bindParam(':created_at', $created_at); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
// exit(); |
|
|
|
|
|
|
|
|
|
|
|
//create table Wipwholestatus (作番大日程) |
|
|
|
|
|
foreach ($elevators_detail_arr as $key => $value) { |
|
|
|
|
|
$facilityno = $facilityno[$key]; // 作番 |
|
|
|
|
|
$weight = $value['item_weight']; // 載重 |
|
|
|
|
|
$person = $value['person']; // 人乘 |
|
|
|
|
|
$floor = $value['floor']; // 樓層 |
|
|
|
|
|
$open = $value['item_op']; // 開門方式 |
|
|
|
|
|
$speed = $value['speed']; //速度 |
|
|
|
|
|
$qc = $value['qc']; |
|
|
|
|
|
$facility_kind = $value['spec']; //型號 |
|
|
|
|
|
$contract_arrival_date = $value['contract_arrival_date']; //到工地日期 |
|
|
|
|
|
$site_manager = $value['manage']; |
|
|
|
|
|
$warehouseid = $value['warehouseid']; |
|
|
|
|
|
$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 |
|
|
|
|
|
('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)"; |
|
|
|
|
|
// $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 |
|
|
|
|
|
// ('A','$contractno','$salesman','$customer','$customer','$facilityno','$weight','$person','$floor','$open','$speed','$facility_kind','$address','$contract_arrival_date','$qc','$created_by','$created_at')"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->bindParam(':contractno', $contractno); |
|
|
|
|
|
$stmt->bindParam(':salesid', $salesman); |
|
|
|
|
|
$stmt->bindParam(':custom', $customer); |
|
|
|
|
|
$stmt->bindParam(':accountid', $customer); |
|
|
|
|
|
$stmt->bindParam(':site_manager', $site_manager); |
|
|
|
|
|
$stmt->bindParam(':warehouseid', $warehouseid); |
|
|
|
|
|
$stmt->bindParam(':facilityno', $facilityno); |
|
|
|
|
|
$stmt->bindParam(':weight', $weight); |
|
|
|
|
|
$stmt->bindParam(':numberofpassenger', $person); |
|
|
|
|
|
$stmt->bindParam(':numberoffloor', $floor); |
|
|
|
|
|
$stmt->bindParam(':opentype', $open); |
|
|
|
|
|
$stmt->bindParam(':speed', $speed); |
|
|
|
|
|
$stmt->bindParam(':facility_kind', $facility_kind); |
|
|
|
|
|
$stmt->bindParam(':area_no', $area_no); |
|
|
|
|
|
$stmt->bindParam(':address', $address); |
|
|
|
|
|
$stmt->bindParam(':contract_arrival_date', $contract_arrival_date); |
|
|
|
|
|
$stmt->bindParam(':real_contract_arrival_date', $contract_arrival_date); |
|
|
|
|
|
$stmt->bindParam(':qc_official_type', $qc); |
|
|
|
|
|
$stmt->bindParam(':creater', $created_by); |
|
|
|
|
|
$stmt->bindParam(':create_at', $created_at); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
$lastId = $conn->lastInsertId(); |
|
|
|
|
|
// echo "<pre>"; |
|
|
|
|
|
// print_r($lastId); |
|
|
|
|
|
// echo "</pre>"; |
|
|
|
|
|
if (!empty($lastId)) { |
|
|
|
|
|
echo '123'; |
|
|
|
|
|
// 寫入待簽程狀態 A (營業) |
|
|
|
|
|
do_wws_assign1($salesman, $lastId, 'A', $conn); |
|
|
|
|
|
// // 寫入待簽程狀態 G (工務) |
|
|
|
|
|
do_wws_assign1($warehouseid, $lastId, 'G', $conn); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// create table worksite (戰情室) |
|
|
|
|
|
$latitude = $value['latitude']; |
|
|
|
|
|
$longitude = $value['longitude']; |
|
|
|
|
|
$sql = "INSERT INTO worksite |
|
|
|
|
|
(latitude,longitude,facilitynum,facilityno,address,buildcompany,process,status,marchintotime,creater,create_at)VALUES |
|
|
|
|
|
(:latitude,:longitude,'1',:facilityno,:address,:bulidcompany,'進行中','未工勘',:marchintotime,:creater,:create_at)"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->bindParam(':latitude', $latitude); |
|
|
|
|
|
$stmt->bindParam(':longitude', $longitude); |
|
|
|
|
|
$stmt->bindParam(':facilityno', $facilityno); |
|
|
|
|
|
$stmt->bindParam(':address', $address); |
|
|
|
|
|
$stmt->bindParam(':bulidcompany', $customer); |
|
|
|
|
|
$stmt->bindParam(':marchintotime', $contract_arrival_date); |
|
|
|
|
|
$stmt->bindParam(':creater', $created_by); |
|
|
|
|
|
$stmt->bindParam(':create_at', $created_at); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
|
|
|
|
|
|
// create table schedule |
|
|
|
|
|
$contract_begin_date = ''; |
|
|
|
|
|
$contract_end_date = ''; // 一年 |
|
|
|
|
|
$comboNo = new CreateComboNo('em', $contract_begin_date, $contract_end_date); |
|
|
|
|
|
$comboArr = json_decode($comboNo->getComboNo(), true); |
|
|
|
|
|
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)'; |
|
|
|
|
|
$stmt = $conn->prepare($sql_str); |
|
|
|
|
|
$stmt->bindParam(':contractno', $contractno); |
|
|
|
|
|
$stmt->bindParam(':facilityno', $facility_no); |
|
|
|
|
|
$stmt->bindParam(':combono', $combo[0]); |
|
|
|
|
|
$stmt->bindParam(':repairerid', $repairerid); |
|
|
|
|
|
$stmt->bindParam(':repairername', $repairername); |
|
|
|
|
|
$stmt->bindParam(':duedate', $combo[1]); |
|
|
|
|
|
$stmt->bindParam(':creater', $creater); |
|
|
|
|
|
$stmt->bindParam(':create_at', $create_at); |
|
|
|
|
|
$result = $stmt->execute(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC"; |
|
|
$sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid ORDER BY create_at DESC"; |
|
|
$stmt = $conn->prepare($sql_str); |
|
|
$stmt = $conn->prepare($sql_str); |
|
|
$stmt->bindParam(":accountid", $salesman); |
|
|
$stmt->bindParam(":accountid", $salesman); |
|
@ -125,7 +246,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c |
|
|
$stmt->bindParam(':file_size', $file['size']); |
|
|
$stmt->bindParam(':file_size', $file['size']); |
|
|
$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->execute(); |
|
|
$stmt->execute(); |
|
|
} else { |
|
|
} else { |
|
|
throw new PDOException('檔案上傳失敗:' . $msg); |
|
|
throw new PDOException('檔案上傳失敗:' . $msg); |
|
|
} |
|
|
} |
|
@ -158,7 +279,7 @@ if (isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['c |
|
|
$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(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = $conn->commit(); |
|
|
$result = $conn->commit(); |
|
@ -194,6 +315,15 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
$createTime = str_replace('-', '', $createAt); |
|
|
$createTime = str_replace('-', '', $createAt); |
|
|
$signing_date = intval(str_replace("-", '', $data['signing_date'])); //簽訂日期 |
|
|
$signing_date = intval(str_replace("-", '', $data['signing_date'])); //簽訂日期 |
|
|
// echo |
|
|
// echo |
|
|
|
|
|
// $pay_kind = [ |
|
|
|
|
|
// '1' => '簽約', |
|
|
|
|
|
// '2' => '二次款', |
|
|
|
|
|
// '3' => '貨抵工地', |
|
|
|
|
|
// '4' => '材料其他', |
|
|
|
|
|
// '5' => '試車完工', //安裝完畢 |
|
|
|
|
|
// '6' => '交車' //交車 |
|
|
|
|
|
// ]; |
|
|
|
|
|
|
|
|
$pay_kind = [ |
|
|
$pay_kind = [ |
|
|
'1' => '簽約', |
|
|
'1' => '簽約', |
|
|
'2' => '二次款', |
|
|
'2' => '二次款', |
|
@ -228,7 +358,6 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
$stmt->bindParam(':TaxNo', $vat); |
|
|
$stmt->bindParam(':TaxNo', $vat); |
|
|
$stmt->bindParam(':EnterpriseName', $partyA); //企業名稱 |
|
|
$stmt->bindParam(':EnterpriseName', $partyA); //企業名稱 |
|
|
$stmt->bindParam(':ContactAddress', $partyAaddress); |
|
|
$stmt->bindParam(':ContactAddress', $partyAaddress); |
|
|
// $stmt->bindParam(':EMail', $email); |
|
|
|
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->bindParam(':CreateTime', $createTime); |
|
|
$stmt->bindParam(':CreateTime', $createTime); |
|
|
$stmt->execute(); |
|
|
$stmt->execute(); |
|
@ -236,8 +365,8 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql = "INSERT INTO comCustomer |
|
|
$sql = "INSERT INTO comCustomer |
|
|
(OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) |
|
|
(OrgId,BizPartnerTypeId,ConditionId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId) |
|
|
VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')"; |
|
|
VALUES('1000','10','TWD','0008',: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')"; |
|
@ -253,6 +382,7 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
// // 若客戶資料不為空,更新該客戶資訊。 |
|
|
// // 若客戶資料不為空,更新該客戶資訊。 |
|
|
$sql = "UPDATE comCustomer SET |
|
|
$sql = "UPDATE comCustomer SET |
|
|
PersonId=:PersonId, |
|
|
PersonId=:PersonId, |
|
|
|
|
|
ConditionId='0008', |
|
|
InvoiceAddress=:InvoiceAddress, |
|
|
InvoiceAddress=:InvoiceAddress, |
|
|
LastOperatorId=:LastOperatorId, |
|
|
LastOperatorId=:LastOperatorId, |
|
|
LastOperateTime=:LastOperateTime |
|
|
LastOperateTime=:LastOperateTime |
|
@ -306,176 +436,208 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->execute(); |
|
|
$stmt->execute(); |
|
|
} |
|
|
} |
|
|
|
|
|
$sql = "SELECT * FROM salSalesOrder WHERE BillNo = :BillNo"; |
|
|
foreach ($elevators as $index => $elevator) { |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$count = 1; |
|
|
$stmt->bindParam(':BillNo', $contractno); |
|
|
// 產品集成維護 |
|
|
$contractT8 = $stmt->fetch(PDO::FETCH_ASSOC); |
|
|
$facility_no = $facilityno[$index]; |
|
|
if (empty($contractT8)) { |
|
|
$MaterialName = "$partyA($facility_no)"; |
|
|
foreach ($elevators as $index => $elevator) { |
|
|
$sql = "INSERT INTO comMaterial |
|
|
$count = 1; |
|
|
|
|
|
// 產品集成維護 |
|
|
|
|
|
$facility_no = $facilityno[$index]; |
|
|
|
|
|
$MaterialName = "$partyA($facility_no)"; |
|
|
|
|
|
$contract_arrival_a = $elevator['contract_arrival_date']; |
|
|
|
|
|
|
|
|
|
|
|
$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)"; |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$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)"; |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialName', $MaterialName); |
|
|
$stmt->bindParam(':MaterialName', $MaterialName); |
|
|
$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 comMaterialPurchases |
|
|
$sql = "INSERT INTO comMaterialPurchases |
|
|
(Orgid,MaterialTypeId,MaterialId,CurrId,SUnitId,TaxId,CreatorId,CreateTime) |
|
|
(Orgid,MaterialTypeId,MaterialId,CurrId,SUnitId,TaxId,CreatorId,CreateTime) |
|
|
VALUES ('1000','10',:MaterialId,'TWD','SET','ST005',:CreatorId,:CreateTime)"; |
|
|
VALUES ('1000','10',:MaterialId,'TWD','SET','ST005',:CreatorId,:CreateTime)"; |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$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 plsMaterialPlanData |
|
|
$sql = "INSERT INTO plsMaterialPlanData |
|
|
(PlanRangeId,MaterialId,FOrgId,MaterialTypeId,CreatorId,CreateTime,DefaultDemandOrg) VALUES |
|
|
(PlanRangeId,MaterialId,FOrgId,MaterialTypeId,CreatorId,CreateTime,DefaultDemandOrg) VALUES |
|
|
(1000,:MaterialId,1000,10,:CreatorId,:CreateTime,1000) |
|
|
(1000,:MaterialId,1000,10,:CreatorId,:CreateTime,1000) |
|
|
"; |
|
|
"; |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$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 comMaterialSales |
|
|
$sql = "INSERT INTO comMaterialSales |
|
|
(OrgId,MAterialTypeId,MaterialId,CurrId,SUnitId,SupplyOrgId,CreatorId,CreateTime,IsInUsed) VALUES |
|
|
(OrgId,MAterialTypeId,MaterialId,CurrId,SUnitId,SupplyOrgId,CreatorId,CreateTime,IsInUsed) VALUES |
|
|
(1000,10,:MaterialId,'TWD','SET',1000,:CreatorId,:CreateTime,1) |
|
|
(1000,10,:MaterialId,'TWD','SET',1000,:CreatorId,:CreateTime,1) |
|
|
"; |
|
|
"; |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt = $connT8->prepare($sql); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':MaterialId', $facility_no); |
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->bindParam(':CreatorId', $user_id); |
|
|
$stmt->bindParam(':CreateTime', $createTime); |
|
|
$stmt->bindParam(':CreateTime', $createTime); |
|
|
$stmt->execute(); |
|
|
$stmt->execute(); |
|
|
|
|
|
// 階段收款資訊 |
|
|
|
|
|
$salOrderStagePay_row = []; |
|
|
|
|
|
$equipment_total = 0; |
|
|
|
|
|
$install_total = 0; |
|
|
|
|
|
$equipment_total = $pay_arr['equipment_total']; |
|
|
|
|
|
$install_total = $pay_arr['install_total']; |
|
|
|
|
|
$count_a = 0; |
|
|
|
|
|
$count_month = 1; |
|
|
|
|
|
foreach ($pay_arr['elevotor_pay_detail'] as $key => $detail) { |
|
|
|
|
|
if ($detail['kind'] == 3) { |
|
|
|
|
|
$PlanPayDate = $contract_arrival_a; |
|
|
|
|
|
} else if ($detail['kind'] > 3) { |
|
|
|
|
|
$PlanPayDate = date("Y-m-d", strtotime($contract_arrival_a . '+' . $count_month . ' month')); |
|
|
|
|
|
$count_month++; |
|
|
|
|
|
} else { |
|
|
|
|
|
$PlanPayDate = $signing_date; |
|
|
|
|
|
$count_a++; |
|
|
|
|
|
if ($count_a == 1) { |
|
|
|
|
|
$PlanPayDate = date("Y-m-d", strtotime($signing_date . '+' . $count_a . ' month')); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$contract_arrival_date = intval(str_replace("-", '', $PlanPayDate)); //貨到工地日 |
|
|
|
|
|
|
|
|
|
|
|
$PayStage = $pay_kind[$detail['kind']]; |
|
|
|
|
|
$PlanPercentage = intval($detail['pay_scale']) / 100; |
|
|
|
|
|
$rows = [ |
|
|
|
|
|
"PayStage" => "$PayStage", //收款階段 |
|
|
|
|
|
"PlanPercentage" => $PlanPercentage, //計劃收款比例(%) |
|
|
|
|
|
"PlanPayAmt" => $detail['amount'], //計劃收款金額 |
|
|
|
|
|
"PlanPayDate" => $contract_arrival_date, //計劃收款日期 1.第一筆都是簽約日 |
|
|
|
|
|
"BillNo" => "$contractno", |
|
|
|
|
|
"RowCode" => $key + 1, |
|
|
|
|
|
"RowNo" => $key + 1, |
|
|
|
|
|
"UnWriteOffOAmount" => $detail['amount'] //未核銷金額 |
|
|
|
|
|
]; |
|
|
|
|
|
$salOrderStagePay_row[] = $rows; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 階段收款資訊 |
|
|
// 設備 |
|
|
$salOrderStagePay_row = []; |
|
|
$row1 = [ |
|
|
$equipment_total = 0; |
|
|
"TaxId" => "ST005", |
|
|
$install_total = 0; |
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
$equipment_total = $pay_arr['equipment_total']; |
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
$install_total = $pay_arr['install_total']; |
|
|
"BillNo" => "$contractno", //合約號 |
|
|
foreach ($pay_arr['elevotor_pay_detail'] as $key => $detail) { |
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
$PayStage = $pay_kind[$detail['kind']]; |
|
|
"ItemType" => 1, |
|
|
$PlanPercentage = intval($detail['pay_scale']) / 100; |
|
|
"MaterialId" => "A40001", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
$rows = [ |
|
|
"SUnitId" => "SET", |
|
|
"PayStage" => "$PayStage", //收款階段 |
|
|
"SQuantity" => 1, //交易數量 |
|
|
"PlanPercentage" => $PlanPercentage, //計劃收款比例(%) |
|
|
"SPrice" => $equipment_total, //交易價格 |
|
|
"PlanPayAmt" => $detail['amount'], //計劃收款金額 |
|
|
"CU_MaterialId" => $facility_no |
|
|
"PlanPayDate" => 20240101, //計劃收款日期 1.第一筆都是簽約日 |
|
|
]; |
|
|
"BillNo" => "$contractno", |
|
|
$count++; |
|
|
"RowCode" => $key + 1, |
|
|
// 安裝 |
|
|
"RowNo" => $key + 1, |
|
|
$row2 = [ |
|
|
"UnWriteOffOAmount" => $detail['amount'] //未核銷金額 |
|
|
"TaxId" => "ST005", |
|
|
|
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
|
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
|
|
|
"BillNo" => "$contractno", //合約號 |
|
|
|
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
|
|
|
"ItemType" => 1, |
|
|
|
|
|
"MaterialId" => "A40008", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
|
|
|
"SUnitId" => "SET", |
|
|
|
|
|
"SQuantity" => 1, //交易數量 |
|
|
|
|
|
"SPrice" => $install_total, //交易價格 |
|
|
|
|
|
"CU_MaterialId" => $facility_no |
|
|
]; |
|
|
]; |
|
|
$salOrderStagePay_row[] = $rows; |
|
|
$count++; |
|
|
|
|
|
// 產品(作番) |
|
|
|
|
|
$row3 = [ |
|
|
|
|
|
"TaxId" => "ST005", |
|
|
|
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
|
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
|
|
|
"BillNo" => "$contractno", //合約號 |
|
|
|
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
|
|
|
"ItemType" => 0, |
|
|
|
|
|
"MaterialId" => "$facility_no", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
|
|
|
"SUnitId" => "SET", |
|
|
|
|
|
"SQuantity" => 1, //交易數量 |
|
|
|
|
|
"SPrice" => 0, //交易價格 |
|
|
|
|
|
"CU_MaterialId" => $facility_no // 歸屬作番號 |
|
|
|
|
|
]; |
|
|
|
|
|
$count++; |
|
|
|
|
|
$SubOrder_row[] = $row1; |
|
|
|
|
|
$SubOrder_row[] = $row2; |
|
|
|
|
|
$SubOrder_row[] = $row3; |
|
|
|
|
|
$count++; |
|
|
} |
|
|
} |
|
|
|
|
|
$MainSalesOrder_row = [ |
|
|
// 設備 |
|
|
"BillNo" => "$contractno", //合約單號 |
|
|
$row1 = [ |
|
|
"BillDate" => $signing_date, //簽約日期 |
|
|
|
|
|
"TypeId" => "SO", // |
|
|
|
|
|
"FOrgId" => "1000", |
|
|
|
|
|
"OrgId" => "1000", |
|
|
|
|
|
"ModeId" => "M", // T汰改 M新梯 |
|
|
|
|
|
"BizPartnerId" => "$contractno", //客戶代碼 |
|
|
|
|
|
"CurrId" => "TWD", |
|
|
|
|
|
"CurrOAmount" => 1, |
|
|
|
|
|
"CurrLAmount" => 1, |
|
|
|
|
|
"PersonId" => "$salesman", //業務人員 |
|
|
|
|
|
"DueToId" => "$contractno", //債務方 |
|
|
|
|
|
"TradeConditionId" => "", |
|
|
"TaxId" => "ST005", |
|
|
"TaxId" => "ST005", |
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
"CreditorCompId" => "1001", |
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
"CreditorOrgId" => "1000", |
|
|
"BillNo" => "$contractno", //合約號 |
|
|
"CreatorId" => "$user_id" |
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
// "CompId" => "1001", |
|
|
"ItemType" => 1, |
|
|
// "CreditorCurrOAmount" => 1, |
|
|
"MaterialId" => "A40001", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
// "CreditorCurrLAmount" => 1 |
|
|
"SUnitId" => "SET", |
|
|
|
|
|
"SQuantity" => 1, //交易數量 |
|
|
|
|
|
"SPrice" => $equipment_total //交易價格 |
|
|
|
|
|
]; |
|
|
]; |
|
|
$count++; |
|
|
$MainSalesOrder = [ |
|
|
// 安裝 |
|
|
"name" => "MainSalesOrder", |
|
|
$row2 = [ |
|
|
'rows' => [$MainSalesOrder_row] |
|
|
"TaxId" => "ST005", |
|
|
|
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
|
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
|
|
|
"BillNo" => "$contractno", //合約號 |
|
|
|
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
|
|
|
"ItemType" => 1, |
|
|
|
|
|
"MaterialId" => "A40008", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
|
|
|
"SUnitId" => "SET", |
|
|
|
|
|
"SQuantity" => 1, //交易數量 |
|
|
|
|
|
"SPrice" => $install_total //交易價格 |
|
|
|
|
|
]; |
|
|
]; |
|
|
$count++; |
|
|
$SubOrder = [ |
|
|
// 產品(作番) |
|
|
"name" => "SubOrder", |
|
|
$row3 = [ |
|
|
"rows" => $SubOrder_row |
|
|
"TaxId" => "ST005", |
|
|
]; |
|
|
"RequirementDate" => $signing_date, //出貨日期 |
|
|
$salOrderStagePay = [ |
|
|
"ConsignmentDate" => $signing_date, //發貨日期 |
|
|
"name" => "salOrderStagePay", |
|
|
"BillNo" => "$contractno", //合約號 |
|
|
"rows" => $salOrderStagePay_row |
|
|
"RowCode" => $count, //全部筆數排列 |
|
|
|
|
|
"ItemType" => 0, |
|
|
|
|
|
"MaterialId" => "$facility_no", //1.設備(A40001)、2.安裝(A4008)、3.作番號(作番) |
|
|
|
|
|
"SUnitId" => "SET", |
|
|
|
|
|
"SQuantity" => 1, //交易數量 |
|
|
|
|
|
"SPrice" => 0 //交易價格 |
|
|
|
|
|
]; |
|
|
]; |
|
|
$count++; |
|
|
|
|
|
$SubOrder_row[] = $row1; |
|
|
|
|
|
$SubOrder_row[] = $row2; |
|
|
|
|
|
$SubOrder_row[] = $row3; |
|
|
|
|
|
$count++; |
|
|
|
|
|
} |
|
|
|
|
|
$MainSalesOrder_row = [ |
|
|
|
|
|
"BillNo" => "$contractno", //合約單號 |
|
|
|
|
|
"BillDate" => $signing_date, //簽約日期 |
|
|
|
|
|
"TypeId" => "SO", // |
|
|
|
|
|
"FOrgId" => "1000", |
|
|
|
|
|
"OrgId" => "1000", |
|
|
|
|
|
"ModeId" => "M", // T汰改 M新梯 |
|
|
|
|
|
"BizPartnerId" => "$contractno", //客戶代碼 |
|
|
|
|
|
"CurrId" => "TWD", |
|
|
|
|
|
"CurrOAmount" => 1, |
|
|
|
|
|
"CurrLAmount" => 1, |
|
|
|
|
|
"PersonId" => "$user_id", //業務人員 |
|
|
|
|
|
"DueToId" => "$contractno", //債務方 |
|
|
|
|
|
"TradeConditionId" => "", |
|
|
|
|
|
"TaxId" => "ST005", |
|
|
|
|
|
"CreditorCompId" => "1001", |
|
|
|
|
|
"CreditorOrgId" => "1000", |
|
|
|
|
|
// "CompId" => "1001", |
|
|
|
|
|
// "CreditorCurrOAmount" => 1, |
|
|
|
|
|
// "CreditorCurrLAmount" => 1 |
|
|
|
|
|
]; |
|
|
|
|
|
$MainSalesOrder = [ |
|
|
|
|
|
"name" => "MainSalesOrder", |
|
|
|
|
|
'rows' => [$MainSalesOrder_row] |
|
|
|
|
|
]; |
|
|
|
|
|
$SubOrder = [ |
|
|
|
|
|
"name" => "SubOrder", |
|
|
|
|
|
"rows" => $SubOrder_row |
|
|
|
|
|
]; |
|
|
|
|
|
$salOrderStagePay = [ |
|
|
|
|
|
"name" => "salOrderStagePay", |
|
|
|
|
|
"rows" => [$salOrderStagePay_row] |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
$API_body = []; |
|
|
$API_body = []; |
|
|
$API_body[] = $MainSalesOrder; |
|
|
$API_body[] = $MainSalesOrder; |
|
|
$API_body[] = $SubOrder; |
|
|
$API_body[] = $SubOrder; |
|
|
$API_body[] = $salOrderStagePay; |
|
|
$API_body[] = $salOrderStagePay; |
|
|
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"; |
|
|
|
|
|
|
|
|
$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') { |
|
|
|
|
|
echo $result['ErrorMsg']; |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
echo '資料已新增過,請洽資訊人員'; |
|
|
|
|
|
} |
|
|
$connT8->commit(); |
|
|
$connT8->commit(); |
|
|
} catch (PDOException $e) { |
|
|
} catch (PDOException $e) { |
|
|
$connT8->rollback(); |
|
|
$connT8->rollback(); |
|
@ -487,153 +649,168 @@ function T8Insert($data, $facilityno, $connT8) |
|
|
|
|
|
|
|
|
function BounsCount($data, $conn, $facilityno) |
|
|
function BounsCount($data, $conn, $facilityno) |
|
|
{ |
|
|
{ |
|
|
// echo '<pre>'; |
|
|
try { |
|
|
// print_r($facilityno); |
|
|
require_once("../../bonus/elevator_new/elevator_new_deal_bonus.php"); |
|
|
// echo '</pre>'; |
|
|
$dailyNecessities = [ |
|
|
// exit; |
|
|
'MAE100' => 'passenger', //小機房 |
|
|
require_once("../../bonus/elevator_new/elevator_new_deal_bonus.php"); |
|
|
'MAM200' => 'passenger', //無機房 |
|
|
$dailyNecessities = [ |
|
|
'MAH100' => 'dumbwaiter', //小電梯 |
|
|
'MAE100' => 'passenger', //小機房 |
|
|
'MAQ100' => 'positive_drive', //強趨梯 |
|
|
'MAM200' => 'passenger', //無機房 |
|
|
'MAF100' => 'cargo', //貨梯 |
|
|
'MAH100' => 'dumbwaiter', //小電梯 |
|
|
'MAP100' => 'flatbase', // 平台踢 |
|
|
'MAQ100' => 'positive_drive', //強趨梯 |
|
|
]; |
|
|
'MAF100' => 'cargo', //貨梯 |
|
|
$contractType = [ |
|
|
'MAP100' => 'flatbase', // 平台踢 |
|
|
'1' => 'strategy_customer', |
|
|
]; |
|
|
'2' => 'general_customer' |
|
|
$contractType = [ |
|
|
]; |
|
|
'1' => 'strategy_customer', |
|
|
$signing_date = $data['signing_date']; |
|
|
'2' => 'general_customer' |
|
|
$bonus_v1_0_date = '2024-01-02'; |
|
|
]; |
|
|
$bonus_v2_0_date = '2024-01-03'; |
|
|
$signing_date = $data['signing_date']; |
|
|
$contract_type = $data['contract_type']; |
|
|
$bonus_v1_0_date = '2024-01-02'; |
|
|
$total = $data['price_total']; |
|
|
$bonus_v2_0_date = '2024-01-03'; |
|
|
$type = $contractType[$contract_type]; //戰略客戶 or 一般客戶 |
|
|
$contract_type = $data['contract_type']; |
|
|
// $elevator_knockdown_price = $data['price_total']; //受價總額 |
|
|
$total = $data['price_total']; |
|
|
$elevators = json_decode($data['elevators_detail_arr'], true); |
|
|
$type = $contractType[$contract_type]; //戰略客戶 or 一般客戶 |
|
|
$contract_no = $data['contractno']; |
|
|
// $elevator_knockdown_price = $data['price_total']; //受價總額 |
|
|
$salesman = $data['salesman']; |
|
|
$elevators = json_decode($data['elevators_detail_arr'], true); |
|
|
$manager = $data['manager']; |
|
|
$contract_no = $data['contractno']; |
|
|
$contract_kind = 1; |
|
|
$salesman = $data['salesman']; |
|
|
$create_id = $data['user_id']; |
|
|
$manager = $data['manager']; |
|
|
$create_at = date("Y-m-d H:i:s"); |
|
|
$contract_kind = 1; |
|
|
$status = 1; |
|
|
$create_id = $data['user_id']; |
|
|
|
|
|
$create_at = date("Y-m-d H:i:s"); |
|
|
|
|
|
$status = 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result_bonus = []; |
|
|
|
|
|
$result_bonus_arr = []; |
|
|
|
|
|
if ($signing_date <= $bonus_v1_0_date) { |
|
|
$result_bonus = []; |
|
|
$ver = '1.0'; |
|
|
$result_bonus_arr = []; |
|
|
foreach ($elevators as $key => $elevator) { |
|
|
if ($signing_date <= $bonus_v1_0_date) { |
|
|
|
|
|
$ver = '1.0'; |
|
|
$elevator_knockdown_price = $elevator['elevator_price']; // 單台電梯售價 |
|
|
foreach ($elevators as $key => $elevator) { |
|
|
$elevator_list_price = $elevator['option_other_price'] + $elevator['option_price'] + $elevator['elevator_price']; //牌價 |
|
|
|
|
|
$result_bonus = elevator_new_deal_bonus_v1_0($ver, $type, $elevator_knockdown_price, $salesman, $manager); |
|
|
$elevator_knockdown_price = $elevator['elevator_price']; // 單台電梯售價 |
|
|
$facility_no = $facilityno[$key]; |
|
|
$elevator_list_price = $elevator['option_other_price'] + $elevator['option_price'] + $elevator['elevator_price']; //牌價 |
|
|
$bonus_json = [ |
|
|
$result_bonus = elevator_new_deal_bonus_v1_0($ver, $type, $elevator_knockdown_price, $salesman, $manager); |
|
|
'contract_type' => $type, |
|
|
$facility_no = $facilityno[$key]; |
|
|
'total' => $elevator_list_price, |
|
|
$bonus_json = [ |
|
|
'fee_per_st' => $elevator_knockdown_price |
|
|
'contract_type' => $type, |
|
|
]; |
|
|
'total' => $elevator_list_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) { |
|
|
$bonus_type = explode('-', $result['bonus_type']); |
|
|
$bonus_type = explode('-', $result['bonus_type']); |
|
|
$pay_man_type = $bonus_type[0]; //發放類別 |
|
|
$pay_man_type = $bonus_type[0]; //發放類別 |
|
|
$bonus_kind = $bonus_type[1]; |
|
|
$bonus_kind = $bonus_type[1]; |
|
|
$amount = $result['bonus_amount']; //獎金水庫 |
|
|
$amount = $result['bonus_amount']; //獎金水庫 |
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員 |
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員 |
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; |
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; |
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; |
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; |
|
|
$bonus_json['bonus_kind'] = $bonus_kind; |
|
|
$bonus_json['bonus_kind'] = $bonus_kind; |
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); |
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); |
|
|
$sql = "INSERT INTO bonus |
|
|
$sql = "INSERT INTO bonus |
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES |
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES |
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') |
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') |
|
|
"; |
|
|
"; |
|
|
$stmt = $conn->prepare($sql); |
|
|
$stmt = $conn->prepare($sql); |
|
|
$stmt->execute(); |
|
|
$stmt->execute(); |
|
|
|
|
|
} |
|
|
|
|
|
$request = [ |
|
|
|
|
|
"status" => "1", |
|
|
|
|
|
"data" => "Success" |
|
|
|
|
|
]; |
|
|
|
|
|
return $request; |
|
|
} |
|
|
} |
|
|
$request = [ |
|
|
$request = [ |
|
|
"status" => "1", |
|
|
"status" => "2", |
|
|
"data" => "Success" |
|
|
"data" => "create_bonus_error" |
|
|
]; |
|
|
]; |
|
|
return $request; |
|
|
return $request; |
|
|
} |
|
|
} |
|
|
$request = [ |
|
|
|
|
|
"status" => "2", |
|
|
|
|
|
"data" => "create_bonus_error" |
|
|
|
|
|
]; |
|
|
|
|
|
return $request; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} else if ($signing_date >= $bonus_v2_0_date) { |
|
|
} else if ($signing_date >= $bonus_v2_0_date) { |
|
|
$ver = '2.0'; |
|
|
$ver = '2.0'; |
|
|
foreach ($elevators as $key => $elevator) { |
|
|
foreach ($elevators as $key => $elevator) { |
|
|
$option_other_price = !empty($elevator['option_other_price']) ? intval($elevator['option_other_price']) : 0; |
|
|
$elevator_type = $dailyNecessities[$elevator['spec']]; |
|
|
$elevator_type = $dailyNecessities[$elevator['spec']]; |
|
|
$elevator_list_price = $elevator['option_other_price'] + $elevator['option_price'] + $elevator['elevator_price']; |
|
|
$elevator_list_price = $option_other_price + $elevator['option_price'] + $elevator['elevator_price']; |
|
|
$elevator_knockdown_price = $elevator['elevator_price']; |
|
|
$elevator_knockdown_price = $elevator['elevator_price']; |
|
|
$commission_fee = $elevator['commission_fee']; |
|
|
$commission_fee = $elevator['commission_fee']; |
|
|
$result_bonus = elevator_new_deal_bonus_v2_0( |
|
|
$result_bonus = elevator_new_deal_bonus_v2_0( |
|
|
$ver, |
|
|
$ver, |
|
|
$type, |
|
|
$type, |
|
|
$elevator_type, |
|
|
$elevator_type, |
|
|
$elevator_list_price, |
|
|
$elevator_list_price, |
|
|
$elevator_knockdown_price, |
|
|
$elevator_knockdown_price, |
|
|
$salesman, |
|
|
$salesman, |
|
|
$manager |
|
|
$manager |
|
|
); |
|
|
); |
|
|
// echo '<pre>'; |
|
|
// echo '<pre>'; |
|
|
// print_r($result_bonus); |
|
|
// print_r($result_bonus); |
|
|
// echo '</pre>'; |
|
|
// echo '</pre>'; |
|
|
$facility_no = $facilityno[$key]; |
|
|
$facility_no = $facilityno[$key]; |
|
|
$bonus_json = [ |
|
|
$bonus_json = [ |
|
|
'contract_type' => $type, |
|
|
'contract_type' => $type, |
|
|
'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) { |
|
|
$bonus_type = explode('-', $result['bonus_type']); |
|
|
$bonus_type = explode('-', $result['bonus_type']); |
|
|
$pay_man_type = $bonus_type[0]; //發放類別 |
|
|
$pay_man_type = $bonus_type[0]; //發放類別 |
|
|
$bonus_kind = $bonus_type[1]; |
|
|
$bonus_kind = $bonus_type[1]; |
|
|
$amount = $result['bonus_amount']; //獎金水庫 |
|
|
$amount = $result['bonus_amount']; //獎金水庫 |
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員 |
|
|
$bonus_receiver = $result['bonus_receiver']; //發放人員 |
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; |
|
|
$bonus_json['payment_schedul_due'] = $result['payment_schedul_due']; |
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; |
|
|
$bonus_json['payment_schedul_regulation'] = $result['payment_schedul_regulation']; |
|
|
$bonus_json['bonus_kind'] = $bonus_kind; |
|
|
$bonus_json['bonus_kind'] = $bonus_kind; |
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); |
|
|
$a = json_encode($bonus_json, JSON_UNESCAPED_UNICODE); |
|
|
$sql = "INSERT INTO bonus |
|
|
$sql = "INSERT INTO bonus |
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES |
|
|
(bonus_type,bonus_verson,contract_no,contract_type,facility_no,amount,receiver,status,bonus_json,create_id,create_at) VALUES |
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') |
|
|
($pay_man_type,'$ver','$contract_no',$contract_kind,'$facility_no',$amount,'$bonus_receiver',$status,'$a','$create_id','$create_at') |
|
|
"; |
|
|
"; |
|
|
$stmt = $conn->prepare($sql); |
|
|
$stmt = $conn->prepare($sql); |
|
|
$stmt->execute(); |
|
|
$stmt->execute(); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
$request = [ |
|
|
|
|
|
"status" => "1", |
|
|
|
|
|
"data" => "Success" |
|
|
|
|
|
]; |
|
|
|
|
|
} else { |
|
|
|
|
|
$request = [ |
|
|
|
|
|
"status" => "2", |
|
|
|
|
|
"data" => "create_bonus_error" |
|
|
|
|
|
]; |
|
|
} |
|
|
} |
|
|
$request = [ |
|
|
|
|
|
"status" => "1", |
|
|
|
|
|
"data" => "Success" |
|
|
|
|
|
]; |
|
|
|
|
|
} else { |
|
|
|
|
|
$request = [ |
|
|
|
|
|
"status" => "2", |
|
|
|
|
|
"data" => "create_bonus_error" |
|
|
|
|
|
]; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
return $request; |
|
|
return $request; |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
} catch (PDOException $e) { |
|
|
} catch (PDOException $e) { |
|
|
header("HTTP/1.1 500 Internal Server Error"); |
|
|
header("HTTP/1.1 500 Internal Server Error"); |
|
|
die('Error!:' . $e->getMessage()); |
|
|
die('Error!:' . $e->getMessage()); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function do_wws_assign1($user_id, $form_id, $flow_code, $conn) |
|
|
|
|
|
{ |
|
|
|
|
|
$tds = date("Y-m-d H:i:s"); |
|
|
|
|
|
|
|
|
|
|
|
$sql = "select appwms.nextval('form_key') form_key"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
$result = $stmt->fetch(PDO::FETCH_ASSOC); |
|
|
|
|
|
$form_key = $result['form_key']; |
|
|
|
|
|
|
|
|
|
|
|
$sql = "INSERT INTO flow (system_id, flow_id, form_key, form_id,flow_code) VALUES ('wws', 'wws01', '$form_key', '$form_id','$flow_code');"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
|
|
|
|
|
|
$sql = "INSERT INTO subflow (form_key, seq, current_assigner, create_date) VALUES ('$form_key', '1', '$user_id', '$tds');"; |
|
|
|
|
|
$stmt = $conn->prepare($sql); |
|
|
|
|
|
$stmt->execute(); |
|
|
|
|
|
} |
|
|