Browse Source

'合約入立(修理)進T8'

main
Cheng 1 year ago
parent
commit
44b04b4fa7
  1. 116
      prv/pricereview-record-submit.php
  2. 36
      wms/T8_APItest.php
  3. 157
      wms/contract-repair/api/putContractData.php
  4. 4
      wms/contract-repair/js/alpine.js
  5. 1
      wms/contract/api/postContractData.php
  6. 20
      wms/fun_global.php
  7. 24
      wms/mkt/pricereview-index.php
  8. 48
      wms/mkt/pricereview-record-submit.php
  9. 2221
      wms/mkt/pricereview_renovate-check.php
  10. 41
      wms/mkt/pricereview_renovate-create.php
  11. 6
      wms/mkt/pricereview_renovate-edit.php
  12. 40
      wms/mkt/pricereview_renovate-index.php
  13. 698
      wms/mkt/pricereview_renovate-record-submit.php

116
prv/pricereview-record-submit.php

@ -1,58 +1,60 @@
<?php
require_once "database.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
$maintance_contract_id=$_POST['maintance_contract_id'];
$sitename=$_POST['sitename'];
$contractor=$_POST['contractor'];
$contractsnum=$_POST['contractsnum'];
$siteaddress=$_POST['siteaddress'];
$startdate=$_POST['startdate'];
$enddate=$_POST['enddate'];
$contractsigningperiod=$startdate.'_'.$enddate;
$pricereviewer=$_POST['pricereviewer'];
$contracttype=$_POST['contracttype'];
$Maintenanceoperationcategory=$_POST['Maintenanceoperationcategory'];
$contractsigningnature=$_POST['contractsigningnature'];
$contractsignname=$_POST['contractsignname'];
$servicefee=$_POST['servicefee'];
$managebili=$_POST['managebili'];
$creater = $_POST['creater'];
$create_at = date('Y/m/d H:i:s');
$updatee_at=date('Y/m/d H:i:s');
$db_query = "insert into maintance_contract_info(maintance_contract_id,sitename,contractor,contractsnum,siteaddress";
$db_query .= ",contractsigningperiod,pricereviewer,contracttype,Maintenanceoperationcategory,contractsigningnature,contractsignname";
$db_query .= ",creater,create_at,updatee_at,servicefee,managebili) values (";
$db_query .= "'$maintance_contract_id', '$sitename', '$contractor', '$contractsnum', '$siteaddress', '$contractsigningperiod',";
$db_query .= "'$pricereviewer', '$contracttype', '$Maintenanceoperationcategory', '$contractsigningnature','$contractsignname',";
$db_query .= "'$creater', '$create_at', '$updatee_at','$servicefee','$managebili')";
$result = mysqli_query($link, $db_query);
if ($mid = mysqli_insert_id($link)) {
header("Location: pricereview-index.php?account=".$_POST['account']);
if (mysqli_affected_rows($link) > 0) {
echo "<script type ='text/JavaScript'>";
echo "alert('新增成功')";
echo "</script>";
//header("Location: pricereview-index.php");
} else {
echo "<script type ='text/JavaScript'>";
echo "alert('新增失敗,請重新操作[I]')";
echo "</script>";
}
} else {
echo "<script type ='text/JavaScript'>";
echo "alert('新增失敗,請重新操作[M]')";
echo "</script>";
}
mysqli_close($link);
}
<?php
require_once "database.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
$maintance_contract_id = $_POST['maintance_contract_id'];
$sitename = $_POST['sitename'];
$contractor = $_POST['contractor'];
$contractsnum = $_POST['contractsnum'];
$siteaddress = $_POST['siteaddress'];
$startdate = $_POST['startdate'];
$enddate = $_POST['enddate'];
$contractsigningperiod = $startdate . '_' . $enddate;
$pricereviewer = $_POST['pricereviewer'];
$contracttype = $_POST['contracttype'];
$Maintenanceoperationcategory = $_POST['Maintenanceoperationcategory'];
$contractsigningnature = $_POST['contractsigningnature'];
$contractsignname = $_POST['contractsignname'];
$servicefee = $_POST['servicefee'];
$managebili = $_POST['managebili'];
$creater = $_POST['creater'];
$create_at = date('Y/m/d H:i:s');
$updatee_at = date('Y/m/d H:i:s');
$db_query = "insert into maintance_contract_info(maintance_contract_id,sitename,contractor,contractsnum,siteaddress";
$db_query .= ",contractsigningperiod,pricereviewer,contracttype,Maintenanceoperationcategory,contractsigningnature,contractsignname";
$db_query .= ",creater,create_at,updatee_at,servicefee,managebili) values (";
$db_query .= "'$maintance_contract_id', '$sitename', '$contractor', '$contractsnum', '$siteaddress', '$contractsigningperiod',";
$db_query .= "'$pricereviewer', '$contracttype', '$Maintenanceoperationcategory', '$contractsigningnature','$contractsignname',";
$db_query .= "'$creater', '$create_at', '$updatee_at','$servicefee','$managebili')";
$result = mysqli_query($link, $db_query);
if ($mid = mysqli_insert_id($link)) {
header("Location: pricereview-index.php?account=" . $_POST['account']);
if (mysqli_affected_rows($link) > 0) {
echo "<script type ='text/JavaScript'>";
echo "alert('新增成功')";
echo "</script>";
//header("Location: pricereview-index.php");
} else {
echo "<script type ='text/JavaScript'>";
echo "alert('新增失敗,請重新操作[I]')";
echo "</script>";
}
} else {
echo "<script type ='text/JavaScript'>";
echo "alert('新增失敗,請重新操作[M]')";
echo "</script>";
}
mysqli_close($link);
}
?>

36
wms/T8_APItest.php

@ -12,42 +12,42 @@ echo "ii";
console.log(validation);
// var corsurl = 'http://cors-anywhere.herokuapp.com/';
var apiurl = 'https:127.0.0.1:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData';
var apiurl = 'https://erp.masada.com.tw:780/twWebAPI/V1/SALINCOMEAPPLY/PostERPData';
headerParam = {
CHI_Authorization: `${validation}`,
};
var body = [{
"name": "salIncomeApplyMaster",
"rows": [{
"BillNo": "Z001",
"BillDate": 20160811,
"BillNo": "B23100061",
"BillDate": 20231220,
"OrgId": "1000",
"FOrgId": "1000",
"TypeId": "RR",
"TypeId": "RAS",
"BpOrgId": "1000",
"BizPartnerId": "C002",
"CurrId": "RMB",
"BizPartnerId": "B23100061",
"CurrId": "TWD",
"CurrOAmount": 1,
"CurrLAmount": 1,
"PersonId": "T001",
"PersonId": "M0065",
"DtOrgId": "1000",
"DueToId": "C002",
"TaxId": "123",
"CompId": "1000"
"DueToId": "B23100061",
"TaxId": "ST005",
"CompId": "1001"
}]
},
{
"name": "salIncomeApplyDetail",
"rows": [{
"BillNo": "Z001",
"IncomeId": "F203",
"TaxId": "ST003",
"BillNo": "B23100061",
"IncomeId": "A40003",
"TaxId": "ST005",
"RowCode": 1,
"ItemType": "1",
"SPrice": 50,
"SQuantity": 1,
"SPrice": 10000,
"SQuantity": 2,
"FromSourceTag": 0,
"FromBillNo": "123"
"FromBillNo": ""
}]
}
];
@ -56,9 +56,9 @@ echo "ii";
type: 'POST',
// url: `${corsurl}${apiurl}`,
url: `${apiurl}`,
// dataType: 'json',
dataType: 'json',
headers: headerParam,
// data: json,
data: json,
// dataType: "json",
success: function(res) {
console.log(res.Status);

157
wms/contract-repair/api/putContractData.php

@ -6,7 +6,7 @@ ini_set('date.timezone', 'Asia/Taipei');
if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_POST["id"]) && $_POST['id'] != "") {
try {
$create_date = date('Y-m-d H:i:s');
$repair_no = !empty($POST['repair_no']) ? $_POST['repair_no'] : null;
$repair_no = !empty($_POST['repair_no']) ? $_POST['repair_no'] : null;
$contractno = !empty($_POST['contractno']) ? $_POST['contractno'] : null;
$company = !empty($_POST['company']) ? $_POST['company'] : null;
$taxid = !empty($_POST['taxid']) ? $_POST['taxid'] : null;
@ -21,7 +21,7 @@ if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_PO
$fail_arr = [];
// if (empty($repair_no)) $fail_arr[] = '號為必填';
if (empty($contractno)) $fail_arr[] = '合約號為必填';
// if (empty($contractno)) $fail_arr[] = '合約號為必填';
if (empty($company)) $fail_arr[] = '客戶名稱為必填';
if (empty($taxid)) $fail_arr[] = '統一編號為必填';
if (empty($facilityno)) $fail_arr[] = '電梯號為必填';
@ -35,7 +35,7 @@ if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_PO
echo json_encode($fail_arr);
exit();
}
// $conn->beginTransaction();
$conn->beginTransaction();
$sql = "UPDATE contract_r_signed_back SET
repaireid = :repaireid,facilityno= :facilityno, invoice=:invoice, taxid=:taxid, address=:address,type=:type,contract_status=:contract_status,update_user=:update_user,update_date=:update_date
@ -56,135 +56,50 @@ if (isset($_POST['contracttype']) && $_POST['contracttype'] == 'r' && isset($_PO
// echo json_encode($sql);
// exit;
$stmt->execute();
t8Insert($_POST);
// header("HTTP/1.1 204 NO Content");
// $conn->commit();
$conn->commit();
} catch (PDOException $e) {
// $conn->rollback();
header("HTTPP/1.1 500 Internal Server Error");
die('Error!:' . $e->getMessage());
}
}
// if (isset($_POST['contractno']) && $_POST['contractno'] != "" && isset($_POST["id"]) && $_POST['id'] != "") {
// try {
// $created_at = date('Y-m-d H:i:s');
// $created_by = $_POST['user_id'];
// $id = $_POST["id"];
// $contract_no = !empty($_POST['contractno']) ? $_POST['contractno'] : null;
// $customer = !empty($_POST['customer']) ? $_POST['customer'] : null;
// $manager = !empty($_POST['manager']) ? $_POST['manager'] : null;
// $vat = !empty($_POST['vat']) ? $_POST['vat'] : null;
// $case_name = !empty($_POST['case_name']) ? $_POST['case_name'] : null;
// $linkman = !empty($_POST['linkman']) ? $_POST['linkman'] : null;
// $lm_tel = !empty($_POST['lm_tel']) ? $_POST['lm_tel'] : null;
// $address = !empty($_POST['address']) ? $_POST['address'] : null;
// $salesman = !empty($_POST['salesman']) ? $_POST['salesman'] : null;
// $qc = !empty($_POST['qc']) ? $_POST['qc'] : null;
// $deletefiles = !empty($_POST['deletefiles']) ? $_POST['deletefiles'] : null;
// $files_id = !empty($_POST['files_id']) ? $_POST['files_id'] : null;
// $files = !empty($_FILES['files']) ? $_FILES['files'] : null;
// $deletefilesArr = explode(',', $_POST['deletefiles']);
// $fail_arr = [];
// if (empty($contract_no)) $fail_arr[] = '合約號為必填';
// if (empty($customer)) $fail_arr[] = '客戶名稱為必填';
// if (empty($manager)) $fail_arr[] = '負責人為必填';
// if (empty($vat)) $fail_arr[] = '統編/身分證為必填';
// if (empty($case_name)) $fail_arr[] = '案名為必填';
// if (empty($linkman)) $fail_arr[] = '聯絡人為必填';
// if (empty($lm_tel)) $fail_arr[] = '聯絡人電話為必填';
// if (empty($address)) $fail_arr[] = '地址為必填';
// if (empty($salesman)) $fail_arr[] = '營業員為必填';
// if (empty($qc)) $fail_arr[] = '請選擇QC或管檢';
// if (count($fail_arr) > 0) {
// header("HTTP/1.1 422 Unprocessable Entity");
// echo json_encode($fail_arr);
// exit();
// }
function t8Insert($data)
{
require_once('../../contract/connt8.php');
$create_date = date('Y-m-dH-i-s');
$repair_no = !empty($data['repair_no']) ? $data['repair_no'] : null; // 報價單號
$company = !empty($data['company']) ? $data['company'] : null; //立約人
$repaireid = !empty($data['repaireid']) ? $data['repaireid'] : null; //維保人員
$facilityno = !empty($data['facilityno']) ? $data['facilityno'] : null; // 電梯編號
$type = !empty($data['type']) ? $data['type'] : null; //工程進度
$sign_date = !empty($data['sign_date']) ? $data['sign_date'] : null; //簽訂時間
$invoice = !empty($data['invoice']) ? $data['invoice'] : null; // 發票抬頭
$taxid = !empty($data['taxid']) ? $data['taxid'] : null; //統編
$address = !empty($data['address']) ? $data['address'] : null; //工程地址
$contract_status = !empty($data['contract_status']) ? $data['contract_status'] : null;
$user_id = !empty($_data['user_id']) ? $data['user_id'] : null;
// $conn->beginTransaction();
$sign = str_replace("-", '', $sign_date);
$create = str_replace('-', '', $create_date);
// $sql_str = "UPDATE contract_m_signed_back SET contract_no=:contract_no, customer=:customer, manager=:manager, vat=:vat, case_name=:case_name, linkman=:linkman, lm_tel=:lm_tel, address=:address, salesman=:salesman, qc_official_type=:qc WHERE id = :id";
// $stmt = $conn->prepare($sql_str);
// $stmt->bindParam(':contract_no', $contract_no);
// $stmt->bindParam(':customer', $customer);
// $stmt->bindParam(':manager', $manager);
// $stmt->bindParam(':vat', $vat);
// $stmt->bindParam(':case_name', $case_name);
// $stmt->bindParam(':linkman', $linkman);
// $stmt->bindParam(':lm_tel', $lm_tel);
// $stmt->bindParam(':address', $address);
// $stmt->bindParam(':salesman', $salesman);
// $stmt->bindParam(':qc', $qc);
// $stmt->bindParam(':id', $id);
// $stmt->execute();
// if (!empty($deletefiles)) {
// $sql_str = "DELETE FROM contract_back_files WHERE id IN ($deletefiles)";
// $stmt = $conn->prepare($sql_str);
// $stmt->execute();
// }
$sql = "INSERT INTO comBusinessPartner
(BizPartnerId,BizPartnerName,BusinessAttr,CountryId,BizToDate,TaxNo,ContactAddress,CreatorId,CreateTime,BizPartnerTypeId)
VALUES(:BizPartnerId,:BizPartnerName,1,'TW',99999999,:TaxNo,:ContactAddress,:CreatorId,:CreateTime,'10')";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $repair_no); //報價單編號
$stmt->bindParam(':BizPartnerName', $company);
$stmt->bindParam(':TaxNo', $taxid);
$stmt->bindParam(':ContactAddress', $address);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':CreateTime', $create);
$stmt->execute();
// if (!empty($files)) {
// $englisharr = range('a', 'z');
// $files = $_FILES['files'];
// $newfiles = [];
// foreach ($files as $file) {
// $i = 0; //新陣列的索引編號
// foreach ($file as $key => $val) {
// $newfiles[$i]['name'] = $files['name'][$key];
// $newfiles[$i]['type'] = $files['type'][$key];
// $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key];
// $newfiles[$i]['error'] = $files['error'][$key];
// $newfiles[$i]['size'] = $files['size'][$key];
// $i++;
// } //foreach 第2層 end
// }
// $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M)
// $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型
// $path = '../images/contracts/';
// if (!file_exists($path)) {
// mkdir($path);
// }
// $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
// $datetime = (string)date('YmdHis');
// $files_id = ($files_id !== null) ? $files_id : 'm' . $datetime; // 新梯=>m + 日期時間
// 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 . '<br/>';
// $src_name = $path . $file['name'];
// if (file_exists($src_name)) {
// //副檔名
// $extname = pathinfo($src_name, PATHINFO_EXTENSION);
// //主檔名
// $basename = basename($src_name, '.' . $extname);
// }
// }
// } else {
// $files = null;
// }
// $conn->commit();
// } catch (PDOException $e) {
// $conn->rollback();
// header("HTTP/1.1 500 Internal Server Error");
// die('Error!:' . $e->getMessage());
// }
// }
$connT8->commit();
}

4
wms/contract-repair/js/alpine.js

@ -328,7 +328,7 @@ const contractRepair = () => {
nextStepFn() {
if (this.data.contractno == '') return alert('合約號為必填')
if (this.data.repair_no == '') return alert('合約號為必填')
this.isLoading = true
if (this.step == 1) {
this.getContractDate();
@ -503,7 +503,7 @@ const contractInput = () => {
fail_arr: [],
nextStepFn() {
if (this.step == 1) {
if (this.data.repair_no == '') return alert('請輸入合約號');
if (this.data.contractno == '') return alert('請輸入合約號');
this.isLoading = true
this.getContractDate();
} else if (this.step == 2) {

1
wms/contract/api/postContractData.php

@ -374,6 +374,7 @@ function T8insert($data, $facilityno)
$endDate = str_replace("-", '', $contract_end_date);
if ($contractno == '') {
echo 'Error';
exit;
}
if (empty($result)) {
// 若 客戶資料為空,新增一筆到 comCustomer

20
wms/fun_global.php

@ -86,7 +86,7 @@ function manage_class($user_id, &$ret = [])
function pricereview_class($rate, $user_id, &$ret = [], $special_fee)
{
global $link;
$sql = "select manager from account where accountid = '$user_id'";
$res = mysqli_query($link, $sql);
while ($row = mysqli_fetch_assoc($res)) {
@ -97,9 +97,9 @@ function pricereview_class($rate, $user_id, &$ret = [], $special_fee)
} else {
$ret[2] = "M0024,,<##>M0107,,"; // 業務部專員:M0024許伃廷、M0107許紓晴(第2關有多位審核人)
$ret[3] = "M0060,,"; // 業務協理
if ($rate < 80 || $special_fee > 0){
if ($rate < 80 || $special_fee > 0) {
$ret[4] = "M0006,,"; // 總經理
}
}
}
}
mysqli_free_result($res);
@ -129,13 +129,14 @@ function pricereview_renovate_class($rate, $user_id, $renovate_flag)
}
}
mysqli_free_result($res);
$ret[2] = 'M0012';
if ($renovate_flag == "REN") {
if ($rate < 80) $ret[3] = "M0008"; // 詹總
if ($rate < 60) $ret[4] = "M0006"; // 總經理
// $ret[2] = 'M0012';
if ($rate < 1000) $ret[3] = "M0008"; // 詹總
if ($rate < 75) $ret[4] = "M0006"; // 總經理
} else {
// 全汰改
if ($rate < 80) $ret[3] = "M0008"; // 詹總
if ($rate < 1000) $ret[3] = "M0008"; // 詹總
if ($rate < 75) $ret[4] = "M0006"; // 總經理
}
@ -612,15 +613,14 @@ function collect_month($contractday)
$latest_timestamp = $contractday;
$latest_date = new DateTime();
$latest_date->setTimestamp($latest_timestamp);
if($latest_timestamp < $today_date->getTimestamp()) {
if ($latest_timestamp < $today_date->getTimestamp()) {
$interval = $latest_date->diff($today_date);
$interval2 = $latest_date->diff($today_date);
$year = $interval2->format('%y');
$month = $interval->format('%m');
$total_month = $year * 12 + $month;
return $total_month;
}else{
} else {
return 0;
}
}

24
wms/mkt/pricereview-index.php

@ -246,6 +246,10 @@ if ($data) :
} elseif ($data["status"] == "YS") {
?>
<a href="specsurvey-create.php?mid=<?= $data['id']; ?>&function_name=specsurvey&token=<?= $token; ?>" class="btn btn-danger btn-sm">填規調</a>
<?php
} elseif ($data['status'] == 'YN') {
?>
<a href="specsurvey-create.php?mid=<?= $data['id']; ?>&function_name=specsurvey&token=<?= $token; ?>" class="btn btn-danger btn-sm">重填規調</a>
<?php
}
}
@ -457,19 +461,19 @@ if ($data) :
}
</style>
<td>
<?php if (($data['status'] == 'YY' && $oneself) || ($data['status'] == 'YY' &&( $user_id == "M0174" || $user_id == 'M0225' || $user_id === "M0107" || $user_id === "M0060"))) : ?>
<?php if(($user_id === "M0107" || $user_id === "M0060") && $data['applystatus'] < 3):?>
<?php if (($data['status'] == 'YY' && $oneself) || ($data['status'] == 'YY' && ($user_id == "M0174" || $user_id == 'M0225' || $user_id === "M0107" || $user_id === "M0060"))) : ?>
<?php if (($user_id === "M0107" || $user_id === "M0060") && $data['applystatus'] < 3) : ?>
<span style="font-size:13px;font-weight:600">待申請</span>
<?php elseif($data['applystatus'] < 3): ?>
<?php elseif ($data['applystatus'] < 3) : ?>
<a class="applybtn" href="../contract/contract-new-apply.php?id=<?php echo $data['id'] . '&' . $para; ?>">
<?php if ($data['applystatus'] < 1) {
echo "申請";
} else {
echo "檢視";
} ?>
</a><br>
<?php if ($data['applystatus'] < 1) {
echo "申請";
} else {
echo "檢視";
} ?>
</a><br>
<?php endif; ?>
<?php else: ?>
<?php else : ?>
<?php endif; ?>

48
wms/mkt/pricereview-record-submit.php

@ -1,6 +1,7 @@
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//print_r($_POST);exit;
print_r($_POST);
exit;
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
@ -67,9 +68,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$temp_file_name = $_FILES["attatch1"]["tmp_name"];
$file_size = $_FILES["attatch1"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file1 = $target_dir.$vol_no."-price-".$tds.".".$img_file_type;
$target_file1 = $target_dir . $vol_no . "-price-" . $tds . "." . $img_file_type;
$upload_ok = 1;
foreach (glob($target_dir.$vol_no."-price-*") as $todelfile) {
foreach (glob($target_dir . $vol_no . "-price-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_1 = move_uploaded_file($temp_file_name, $target_file1);
@ -81,9 +82,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$temp_file_name = $_FILES["attatch2"]["tmp_name"];
$file_size = $_FILES["attatch2"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file2 = $target_dir.$vol_no."-appendix-".$tds.".".$img_file_type;
$target_file2 = $target_dir . $vol_no . "-appendix-" . $tds . "." . $img_file_type;
$upload_ok = 1;
foreach (glob($target_dir.$vol_no."-appendix-*") as $todelfile) {
foreach (glob($target_dir . $vol_no . "-appendix-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_2 = move_uploaded_file($temp_file_name, $target_file2);
@ -156,7 +157,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
*/
$item_no = 1;
for ($i=0; $i<count($item_spec_arr); $i++) {
for ($i = 0; $i < count($item_spec_arr); $i++) {
$spec = trim($item_spec_arr[$i]);
if (empty($spec)) continue;
if (!$fp_id_arr[$i]) $fp_id_arr[$i] = 0;
@ -168,8 +169,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($item_price_arr[$i])) $item_price_arr[$i] = 0;
//$gross_profit_arr[$i] = str_replace(",", "", $gross_profit_arr[$i]);
if (empty($gross_profit_arr[$i])) $gross_profit_arr[$i] = 0;
$gross_profit_rate = number_format(($gross_profit_arr[$i]/$item_price_bp_arr[$i])*100, 1);
$note = $fp_kind_arr[$i].",".$fp_seat_arr[$i].",".$fp_numberofstop_arr[$i].",".$fp_speed_arr[$i];
$gross_profit_rate = number_format(($gross_profit_arr[$i] / $item_price_bp_arr[$i]) * 100, 1);
$note = $fp_kind_arr[$i] . "," . $fp_seat_arr[$i] . "," . $fp_numberofstop_arr[$i] . "," . $fp_speed_arr[$i];
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_spec, item_weight, item_op, item_group, item_unit_price, item_qty, item_price_bp, item_price_ct, item_price, gross_profit, gross_profit_rate, note) values (";
$db_query .= "'$mid', '$fp_id_arr[$i]', '$item_no', '$item_spec_arr[$i]', '$item_weight_arr[$i]', '$item_op_arr[$i]', 'A', '$item_unit_price_arr[$i]', '$item_qty_arr[$i]', '$item_price_bp_arr[$i]', '$item_price_ct_arr[$i]', '$item_price_arr[$i]', '$gross_profit_arr[$i]', '$gross_profit_rate', '$note')";
$result = mysqli_query($link, $db_query);
@ -188,7 +189,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$option_memo_arr = explode("@@,", rtrim($option_memo_all, "@@"));
$option_relate_facil_arr = explode(",", htmlspecialchars_decode($option_relate_facil_all));
$item_no = 1;
for ($i=0; $i<count($option_seat_arr); $i++) {
for ($i = 0; $i < count($option_seat_arr); $i++) {
$spec = trim($option_seat_arr[$i]);
if (empty($spec)) continue;
$option_unit_price_arr[$i] = str_replace(",", "", $option_unit_price_arr[$i]);
@ -197,7 +198,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$option_relate_spec = "";
$tmp_arr = explode("<br>", $option_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")).",";
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
/*
@ -226,16 +227,16 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$mn_memo_arr = explode("@@,", rtrim($mn_memo_all, "@@"));
$mn_relate_facil_arr = explode(",", htmlspecialchars_decode($mn_relate_facil_all));
$item_no = 1;
for ($i=0; $i<count($mn_seat_arr); $i++) {
for ($i = 0; $i < count($mn_seat_arr); $i++) {
if (empty($mn_kind_arr[$i])) continue;
$mn_unit_price_arr[$i] = str_replace(",", "", $mn_unit_price_arr[$i]);
$mn_qty_arr[$i] = str_replace(",", "", $mn_qty_arr[$i]);
$mn_price_bp_arr[$i] = str_replace(",", "", $mn_price_bp_arr[$i]);
$note = $mn_seat_arr[$i].",".$mn_numberofstop_arr[$i].",".$mn_speed_arr[$i];
$note = $mn_seat_arr[$i] . "," . $mn_numberofstop_arr[$i] . "," . $mn_speed_arr[$i];
$option_relate_spec = "";
$tmp_arr = explode("<br>", $mn_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")).",";
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, note, memo) values (";
@ -253,7 +254,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$except_qty_arr = explode(",", $except_qty_all);
$except_price_bp_arr = explode(",", $except_price_bp_all);
$item_no = 1;
for ($i=0; $i<count($except_spec_arr); $i++) {
for ($i = 0; $i < count($except_spec_arr); $i++) {
$spec = trim($except_spec_arr[$i]);
if (empty($spec)) continue;
$except_unit_price_arr[$i] = str_replace(",", "", $except_unit_price_arr[$i]);
@ -270,7 +271,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$pay_scale_arr = explode(",", $pay_scale_all);
$pay_amount_arr = explode(",", $pay_amount_all);
$pay_period_arr = explode(",", $pay_period_all);
for ($i=0; $i<7; $i++) {
for ($i = 0; $i < 7; $i++) {
$pay_scale_arr[$i] = (empty($pay_scale_arr[$i])) ? 0 : $pay_scale_arr[$i];
$pay_amount_arr[$i] = (empty($pay_amount_arr[$i])) ? 0 : $pay_amount_arr[$i];
$sql = "insert into pricereview_pay (mid, pay_kind, pay_scale, pay_amount, pay_period, pay_note) values ";
@ -292,7 +293,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
elseif ($k == 3) $sign3 = $v;
else $sign4 = $v;
}
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '".count($manager_arr)."')";
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '" . count($manager_arr) . "')";
mysqli_query($link, $sql);
// 寫入待簽表
if (strlen($sign1) == 7) $next_signer = str_replace(",", "", $sign1);
@ -309,11 +310,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$ret = accountid2email($next_signer);
if (!empty($ret)) {
foreach ($ret as $uid => $uemail) {
$mail_list[] = [$uid, $uemail];
$mail_list[] = [$uid, $uemail];
}
include dirname(__DIR__)."/class/Cmail.php";
include dirname(__DIR__) . "/class/Cmail.php";
$sendmail = new Cmail;
$title = "【新梯價審通知】卷號:".$contractno;
$title = "【新梯價審通知】卷號:" . $contractno;
$content = "<p>您有待簽核案件,請至<a href=\"http://oa.masada.com.tw\">客戶管理 > 價格審查_新梯</a>,點擊「待簽核」進行作業,謝謝!</p>";
$sendmail->sendx($title, $content, $mail_list);
}
@ -324,14 +325,13 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
mysqli_close($link);
if ($affected > 0) {
echo "<script type = 'text/JavaScript'>";
echo "alert('".$st_str."成功');";
echo "location.href='pricereview-index.php?function_name=pricereview&".$token_link."';";
echo "alert('" . $st_str . "成功');";
echo "location.href='pricereview-index.php?function_name=pricereview&" . $token_link . "';";
echo "</script>";
} else {
echo "<script type = 'text/JavaScript'>";
echo "alert('".$st_str."失敗,請重新操作');";
echo "location.href='pricereview-index.php?function_name=pricereview&".$token_link."';";
echo "alert('" . $st_str . "失敗,請重新操作');";
echo "location.href='pricereview-index.php?function_name=pricereview&" . $token_link . "';";
echo "</script>";
}
}
?>

2221
wms/mkt/pricereview_renovate-check.php

File diff suppressed because it is too large

41
wms/mkt/pricereview_renovate-create.php

@ -2,6 +2,15 @@
include "../header.php";
$vol_no = $_REQUEST["vol_no"]; // 從有望客戶過來:卷號
$id = $_GET['id'];
// $sql = "SELECT * FROM pricereview_main WHERE id = $id";
// $result1 = mysqli_query($link, $sql);
// if (!empty($result1)) {
// $sql = "UPDATE pricereview_main SET status = 'D' WHERE id = $id";
// $result = mysqli_query($link, $sql);
// }
// 營業員只建自己客戶的價審單
$sql = "select pre_order_date, case_name from hope_elevator_customer where salesman = '$user_id' and vol_no = '$vol_no'";
@ -1311,32 +1320,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
*/
?>
<form class="form-inline" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data">
<!--
<div>
<label for="contractno">卷號</label>
<input type="text" name="contractno" id="contractno" maxlength="7" required>
</div>
<div>
<label for="person">營業員</label>
<input type="text" name="person" id="person">
</div>
<div>
<label for="company">客戶名稱</label>
<input type="text" name="company" id="company" required>
</div>
<div>
<label for="case_name">案件名稱</label>
<input type="text" name="case_name" id="case_name" required>
</div>
<div>
<label for="address">工地地址</label>
<input type="text" name="address" id="address" required>
</div>
<div>
<label for="compete">競爭對手</label>
<input type="text" name="compete" id="compete">
</div>
-->
<div class="table-responsive">
<table id="tb1" class="table table-bordered">
<thead>
@ -2476,7 +2460,7 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
<input type="text" name="qty_total" id="qty_total" value="<?php echo $qty_total; ?>" readonly>
</div>
<div>
<label for="special_fee">特殊費用</label>
<label for="special_fee">服務費</label>
<input type="text" name="special_fee" id="special_fee" value="<?php if (isset($last_pr_arr["special_fee"])) echo number_format($last_pr_arr["special_fee"]); ?>">
</div>
<div>
@ -2529,7 +2513,8 @@ if($_SERVER["REQUEST_METHOD"] == "POST"){
</div>
<ul>
<li>業務員權限>=80%以上;<80-75%呈至業務協理審核<75%以下呈至總經理審核< /li>
<li>營業權限>=85%以上;<85-80%呈至區處長審核<80%以下呈至總經理審核< /li>
</ul>
<div class="nextline"></div>
<label for="attatch1">報價單</label>

6
wms/mkt/pricereview_renovate-edit.php

@ -1,5 +1,4 @@
<?php
phpinfo();
include "../header.php";
$id = isset($_GET['id']) ? $_GET['id'] : die('ERROR: Record ID not found.');
@ -2054,7 +2053,7 @@ foreach ($res as $data) {
<input type="text" name="qty_total" id="qty_total" readonly>
</div>
<div>
<label for="special_fee">特殊費用</label>
<label for="special_fee">服務費</label>
<input type="text" name="special_fee" id="special_fee" value="<?php echo number_format($data["special_fee"]); ?>">
</div>
<div>
@ -2103,9 +2102,8 @@ foreach ($res as $data) {
</tbody>
</table>
</div>
<ul>
<li>業務員權限>=80%以上;<80-75%呈至業務協理審核<75%以下呈至總經理審核< /li>
<li>營業員權限85%以上;85-80%呈至業務協理審核;80%以下呈至總經理審核。</li>
</ul>
<div class="nextline"></div>
<label for="attatch1">報價單</label>

40
wms/mkt/pricereview_renovate-index.php

@ -137,7 +137,7 @@ if ($data) :
?>
<link rel="stylesheet" href="common.css">
<div style="overflow-x:auto; white-space:nowrap;">
<table id="table_index2" class="table table-striped table-bordered" style="width:100%">
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>項次</th>
@ -154,7 +154,8 @@ if ($data) :
<th>建檔時間</th>
<th>功能</th>
<th>區經理</th>
<th>工務副總</th>
<th>服務助理</th>
<th>服務副總</th>
<th>總經理</th>
<th>狀態</th>
<th>合約書下載</th>
@ -208,15 +209,30 @@ if ($data) :
<?php
//if ($oneself && !($data["status"] == "YY" || $data["status"] == "YN")) { // 自己可以進行規調
if ($oneself) {
// 重填價審只能有最新一筆,填規調只有最新一筆可以填。
$contractno = $data['contractno'];
$sql = "SELECT MAX(id),COUNT(*) FROM pricereview_main WHERE contractno = '$contractno' ORDER BY id DESC";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_row($result);
$maxContractID = $row[0];
$countContract = $row[1];
// echo '<pre>';
// print_r($maxContractID);
// echo '</pre>';
if ($data["status"] == "Y1") {
?>
<a href="pricereview_renovate-edit.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-primary btn-sm">修改</a>
<a href="pricereview_renovate-delete.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-secondary btn-sm" onClick="return confirm('Are you sure you want to delete?')">刪除</a>
<?php
} elseif ($data["status"] == "YS") {
} elseif ($data["status"] == "YS" && $countContract == 0) {
?>
<a href="specsurvey_renovate-create.php?mid=<?= $data['id']; ?>&function_name=specsurvey_renovate&token=<?= $token; ?>" class="btn btn-danger btn-sm">填規調</a>
<?php
} elseif ($data['status'] == "YN" && $data['id'] == $maxContractID) {
?>
<a href="pricereview_renovate-create.php?vol_no=<?= $data['contractno']; ?>&id=<?= $data['id'] ?>&function_name=pricereview_renovate&token=<?= $token; ?>" class="btn btn-danger btn-sm">重填價審</a>
<?php
}
}
?>
@ -271,6 +287,24 @@ if ($data) :
//echo $str;
?>
</td>
<td>
<?php
$str = $uperson = $ustatus = $udtte = "";
if (!empty($sign2)) list($uperson, $ustatus, $udtte) = explode(",", $sign2);
if ($ustatus) {
if ($ustatus == "Y") $str = "<span class=\"glyphicon glyphicon-ok\" title=\"同意\"></span>";
elseif ($ustatus == "N") $str = "<span class=\"glyphicon glyphicon-ban-circle\" title=\"不同意\"></span>";
$str .= "<br>" . $accountname_arr[$uperson] . "<br>" . $udtte;
} else {
if ($sign_st == 2 && $sign_nt == $user_id && $data["status"] == "YS") {
$str = "<span class=\"glyphicon glyphicon-user\"></span>";
$str = "待簽核";
$str = "<a href=\"pricereview_renovate-check.php?st=2&id=" . $data["id"] . "&" . $para . "\" class=\"btn btn-primary btn-sm\">" . $str . "</a>";
} else $str = "--";
}
echo $str;
?>
</td>
<td>
<?php
$str = $uperson = $ustatus = $udtte = "";

698
wms/mkt/pricereview_renovate-record-submit.php

@ -1,349 +1,349 @@
<?php
/**
* 沒有選擇M1/M4的-->全汰改
*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//print_r($_REQUEST);exit;
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
// 同客戶同電梯不能重覆價審
/*
$warr = [];
$fp_id_str = "";
$fp_id_arr = explode(",", $fp_id_all);
foreach ($fp_id_arr as $val) {
if ($val && $val>0) $fp_id_str .= $val.",";
}
$fp_id_str = rtrim($fp_id_str, ",");
$db_query = "select i.item_spec from pricereview_main m, pricereview_item i ";
$db_query .= "where m.id = i.mid and contractno = '$contractno' and fp_id in ($fp_id_str) and last_check_result <> 'N'";
$res = mysqli_query($link, $db_query);
while ($row = mysqli_fetch_row($res)) {
$warr[] = $row[0];
}
$warning = implode("、", $warr);
if ($warning) {
echo "<script>alert(\"\\n".$warning."\");";
echo "location.href=history.go(-1);</script>";
}
*/
$price_total = str_replace(",", "", $price_total);
$price_lowest = str_replace(",", "", $price_lowest);
$pay_amount = str_replace(",", "", $pay_amount);
$pay_all_amount = str_replace(",", "", $pay_all_amount);
$special_fee = str_replace(",", "", $special_fee);
if (empty($deposit_rate)) $deposit_rate = 0;
if (empty($keep_rate)) $keep_rate = 0;
if (empty($warranty_rate)) $warranty_rate = 0;
if (empty($special_fee)) $special_fee = 0;
$status = ($pmstatus == "tosign") ? "YS" : "Y1"; // YS:提交 Y1:保存
$st_str = ($status == "YS") ? "提交" : "保存";
$create_at = date("Y-m-d H:i:s");
$tds = date("Y-m-d");
// 客戶資料
$sql = "select vol_no, salesman, customer, address from hope_elevator_customer where vol_no = '$vol_no'";
$res = mysqli_query($link, $sql);
$row = mysqli_fetch_row($res);
list($contractno, $person, $company, $address) = $row;
mysqli_free_result($res);
// 同一卷號只限一筆價審
$sql = "select count(*) from pricereview_main where contractno = '$contractno' and status in ('Y1', 'YS', 'YY')";
$res = mysqli_query($link, $sql);
$row = mysqli_fetch_row($res);
if ($row[0] > 0) {
echo "<script>";
echo "alert('請勿重覆價審!');";
echo "history.go(-1);";
echo "</script>";
exit;
}
// 上傳報價單
$target_dir = "pricereview-uploads/";
if ($_FILES["attatch1"]["error"] == 0) {
$file_name = $_FILES["attatch1"]["name"];
$temp_file_name = $_FILES["attatch1"]["tmp_name"];
$file_size = $_FILES["attatch1"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file1 = $target_dir.$vol_no."-price-".$tds.".".$img_file_type;
$upload_ok = 1;
foreach (glob($target_dir.$vol_no."-price-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_1 = move_uploaded_file($temp_file_name, $target_file1);
} else $target_file1 = "";
// 上傳附表一
if ($_FILES["attatch2"]["error"] == 0) {
$file_name = $_FILES["attatch2"]["name"];
$temp_file_name = $_FILES["attatch2"]["tmp_name"];
$file_size = $_FILES["attatch2"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file2 = $target_dir.$vol_no."-appendix-".$tds.".".$img_file_type;
$upload_ok = 1;
foreach (glob($target_dir.$vol_no."-appendix-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_2 = move_uploaded_file($temp_file_name, $target_file2);
} else $target_file2 = "";
if (($target_file1 && !$upload_res_1) || ($target_file2 && !$upload_res_2)) {
echo "<script type ='text/JavaScript'>";
echo "alert('檔案上傳失敗,資料請重建。');";
echo "history.go(-1);";
echo "</script>";
exit;
}
// 價格審查單-主文 pricereview_main
$db_query = "insert into pricereview_main(contractno, ekind, person, company, case_name, address, price_lowest, ";
$db_query .= "price_total, price_rate, special_fee, predeal_date, facilitok_date, penalty, deposit_rate, keep_rate, ";
$db_query .= "warranty_rate, memo, status, attatch1, attatch2, creater, create_at) values (";
$db_query .= "'$contractno', '汰改', '$person', '$company', '$case_name', '$address', '$price_lowest', ";
$db_query .= "'$price_total', '$price_rate', '$special_fee', '$predeal_date', '$facilitok_date', '$penalty', '$deposit_rate', '$keep_rate', ";
$db_query .= "'$warranty_rate', '$memo', '$status', '$target_file1', '$target_file2', '$user_id', '$create_at')";
$result = mysqli_query($link, $db_query);
$affected = mysqli_affected_rows($link);
if ($mid = mysqli_insert_id($link)) {
// 價格審查單-明細項目 pricereview_item:電梯
$fp_id_arr = explode(",", $fp_id_all);
$fp_kind_arr = explode(",", $fp_kind_all);
$fp_seat_arr = explode(",", $fp_seat_all);
$fp_numberofstop_arr = explode(",", $fp_numberofstop_all);
$fp_speed_arr = explode(",", $fp_speed_all);
$item_weight_arr = explode(",", $item_weight_all);
$item_op_arr = explode(",", $item_op_all);
$item_spec_arr = explode(",", $item_spec_all);
$item_group_arr = explode(",", $item_group_all);
$item_unit_price_arr = explode(",", $item_unit_price_all);
$item_qty_arr = explode(",", $item_qty_all);
$item_qty_ori_arr = explode(",", $item_qty_ori_all);
$item_price_bp_arr = explode(",", $item_price_bp_all);
$item_price_ct_arr = explode(",", rtrim($item_price_ct_all, ","));
$item_price_arr = explode(",", $item_price_all);
$gross_profit_arr = explode(",", $gross_profit_all);
$item_price_arr = $gross_profit_arr = []; // 先reset, 等審核才產出
// 非全汰改=REN
$renovate_flag = "";
if (preg_match("/M1/", $fp_kind_all)) $renovate_flag = "REN";
// 如果售價變動或電梯數量異動,售價則平均分攤到每台
$avg_fg = 0;
foreach ($item_price_bp_arr as $k => $v) {
if ($v && !isset($item_price_ct_arr[$k])) {
$avg_fg = 1;
break;
}
}
foreach ($item_qty_ori_arr as $k => $v) {
if ($v != $item_qty_arr[$k]) {
$avg_fg = 1;
break;
}
}
if ($price_total_ori != $price_total) $avg_fg = 1;
if ($avg_fg) {
$item_price_ct2_arr = [];
$price_total_item = 0;
foreach ($item_qty_arr as $k => $v) {
$price = floor(($price_total/array_sum($item_qty_arr))*$v);
$item_price_ct2_arr[] = $price;
if ($k < count($item_qty_arr)-1) $price_total_item += $price;
}
$item_price_ct2_arr[count($item_qty_arr)-1] = $price_total - $price_total_item;
$item_price_ct_arr = $item_price_ct2_arr;
}
$item_no = 1;
for ($i=0; $i<count($item_spec_arr); $i++) {
$spec = trim($item_spec_arr[$i]);
if (empty($spec)) continue;
if (!$fp_id_arr[$i]) $fp_id_arr[$i] = 0;
$item_unit_price_arr[$i] = str_replace(",", "", $item_unit_price_arr[$i]);
$item_qty_arr[$i] = str_replace(",", "", $item_qty_arr[$i]);
$item_price_bp_arr[$i] = str_replace(",", "", $item_price_bp_arr[$i]);
$item_price_ct_arr[$i] = str_replace(",", "", $item_price_ct_arr[$i]);
//$item_price_arr[$i] = str_replace(",", "", $item_price_arr[$i]);
if (empty($item_price_arr[$i])) $item_price_arr[$i] = 0;
//$gross_profit_arr[$i] = str_replace(",", "", $gross_profit_arr[$i]);
if (empty($gross_profit_arr[$i])) $gross_profit_arr[$i] = 0;
$gross_profit_rate = number_format(($gross_profit_arr[$i]/$item_price_bp_arr[$i])*100, 1);
$note = $fp_kind_arr[$i].",".$fp_seat_arr[$i].",".$fp_numberofstop_arr[$i].",".$fp_speed_arr[$i];
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_spec, item_weight, item_op, item_group, item_unit_price, item_qty, item_price_bp, item_price_ct, item_price, gross_profit, gross_profit_rate, note) values (";
$db_query .= "'$mid', '$fp_id_arr[$i]', '$item_no', '$item_spec_arr[$i]', '$item_weight_arr[$i]', '$item_op_arr[$i]', 'A', '$item_unit_price_arr[$i]', '$item_qty_arr[$i]', '$item_price_bp_arr[$i]', '$item_price_ct_arr[$i]', '$item_price_arr[$i]', '$gross_profit_arr[$i]', '$gross_profit_rate', '$note')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價格審查單-明細項目 pricereview_item:Option加價
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'B'";
mysqli_query($link, $db_query);
$op_id_arr = explode(",", $op_id_all);
$option_seat_all = str_replace("點選", "", $option_seat_all);
$option_seat_arr = explode(",", str_replace("@@", "", $option_seat_all));
$option_unit_price_arr = explode(",", $option_unit_price_all);
$option_qty_arr = explode(",", $option_qty_all);
$option_price_bp_arr = explode(",", $option_price_bp_all);
$option_memo_arr = explode("@@,", rtrim($option_memo_all, "@@"));
$option_relate_facil_arr = explode(",", htmlspecialchars_decode($option_relate_facil_all));
$item_no = 1;
for ($i=0; $i<count($option_seat_arr); $i++) {
$spec = trim($option_seat_arr[$i]);
if (empty($spec)) continue;
$option_unit_price_arr[$i] = str_replace(",", "", $option_unit_price_arr[$i]);
$option_qty_arr[$i] = str_replace(",", "", $option_qty_arr[$i]);
$option_price_bp_arr[$i] = str_replace(",", "", $option_price_bp_arr[$i]);
$option_relate_spec = "";
$tmp_arr = explode("<br>", $option_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")).",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo) values (";
$db_query .= "'$mid', '$op_id_arr[$i]', '$item_no', 'B', '$spec', '$option_relate_spec', '$option_unit_price_arr[$i]', '$option_qty_arr[$i]', '$option_price_bp_arr[$i]', '$option_memo_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價格審查單-明細項目 pricereview_item:拆梯費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'C'";
mysqli_query($link, $db_query);
$dem_id_arr = explode(",", $dem_id_all);
$seat_arr = explode(",", $seat_all);
$floor_arr = explode(",", $floor_all);
$demolition_unit_price_arr = explode(",", $demolition_unit_price_all);
$demolition_qty_arr = explode(",", $demolition_qty_all);
$demolition_price_bp_arr = explode(",", $demolition_price_bp_all);
$item_no = 1;
for ($i=0; $i<count($seat_arr); $i++) {
$spec = trim($seat_arr[$i]);
if (!$spec) continue;
$demolition_unit_price_arr[$i] = str_replace(",", "", $demolition_unit_price_arr[$i]);
$demolition_qty_arr[$i] = str_replace(",", "", $demolition_qty_arr[$i]);
$demolition_price_bp_arr[$i] = str_replace(",", "", $demolition_price_bp_arr[$i]);
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values (";
$db_query .= "'$mid', '$dem_id_arr[$i]', '$item_no', 'C', '$spec', '$demolition_unit_price_arr[$i]', '$demolition_qty_arr[$i]', '$demolition_price_bp_arr[$i]', '$floor_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價審明細:保養費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'D'";
mysqli_query($link, $db_query);
$mn_id_arr = explode(",", $mn_id_all);
$mn_kind_arr = explode(",", $mn_kind_all);
$mn_seat_arr = explode(",", $mn_seat_all);
$mn_numberofstop_arr = explode(",", $mn_numberofstop_all);
$mn_speed_arr = explode(",", $mn_speed_all);
$mn_unit_price_arr = explode(",", $mn_unit_price_all);
$mn_qty_arr = explode(",", $mn_qty_all);
$mn_price_bp_arr = explode(",", $mn_price_bp_all);
$mn_memo_arr = explode("@@,", rtrim($mn_memo_all, "@@"));
$mn_relate_facil_arr = explode(",", htmlspecialchars_decode($mn_relate_facil_all));
$item_no = 1;
for ($i=0; $i<count($mn_seat_arr); $i++) {
if (empty($mn_kind_arr[$i])) continue;
$mn_unit_price_arr[$i] = str_replace(",", "", $mn_unit_price_arr[$i]);
$mn_qty_arr[$i] = str_replace(",", "", $mn_qty_arr[$i]);
$mn_price_bp_arr[$i] = str_replace(",", "", $mn_price_bp_arr[$i]);
$note = $mn_seat_arr[$i].",".$mn_numberofstop_arr[$i].",".$mn_speed_arr[$i];
$option_relate_spec = "";
$tmp_arr = explode("<br>", $mn_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")).",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, note, memo) values (";
$db_query .= "'$mid', '$mn_id_arr[$i]', '$item_no', 'D', '$mn_kind_arr[$i]', '$option_relate_spec', '$mn_unit_price_arr[$i]', '$mn_qty_arr[$i]', '$mn_price_bp_arr[$i]', '$note', '$mn_memo_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價審明細:除外費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'E'";
mysqli_query($link, $db_query);
$except_note_arr = explode(",", $except_note_all);
$except_spec_arr = explode(",", $except_spec_all);
$except_unit_price_arr = explode(",", $except_unit_price_all);
$except_qty_arr = explode(",", $except_qty_all);
$except_price_bp_arr = explode(",", $except_price_bp_all);
$item_no = 1;
for ($i=0; $i<count($except_spec_arr); $i++) {
$spec = trim($except_spec_arr[$i]);
if (empty($spec)) continue;
$except_unit_price_arr[$i] = str_replace(",", "", $except_unit_price_arr[$i]);
$except_qty_arr[$i] = str_replace(",", "", $except_qty_arr[$i]);
$except_price_bp_arr[$i] = str_replace(",", "", $except_price_bp_arr[$i]);
$db_query = "insert into pricereview_item (mid, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values (";
$db_query .= "'$mid', '$item_no', 'E', '$spec', '$except_unit_price_arr[$i]', '$except_qty_arr[$i]', '$except_price_bp_arr[$i]', '$except_note_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 款別資訊
$pay_kind_arr = explode(",", $pay_kind_all);
$pay_scale_arr = explode(",", $pay_scale_all);
$pay_amount_arr = explode(",", $pay_amount_all);
$pay_period_arr = explode(",", $pay_period_all);
for ($i=0; $i<7; $i++) {
$pay_scale_arr[$i] = (empty($pay_scale_arr[$i])) ? 0 : $pay_scale_arr[$i];
$pay_amount_arr[$i] = (empty($pay_amount_arr[$i])) ? 0 : $pay_amount_arr[$i];
$sql = "insert into pricereview_pay (mid, pay_kind, pay_scale, pay_amount, pay_period, pay_note) values ";
$sql .= "('$mid', '$pay_kind_arr[$i]', '$pay_scale_arr[$i]', '$pay_amount_arr[$i]', '$pay_period_arr[$i]', '$pay_note')";
mysqli_query($link, $sql);
}
// 價審簽核流程
// <75%以下呈至總經理審核. ($price_rate)
// 契約員 > 上級主管 > 詹總 > 總經理
if ($status == "YS") {
$manager_arr = pricereview_renovate_class($price_rate, $user_id, $renovate_flag);
if ($manager_arr) {
$sign1 = $sign2 = $sign3 = $sign4 = "";
foreach ($manager_arr as $k => $v) {
if ($k == 1) $sign1 = $v.",,";
elseif ($k == 2) $sign2 = $v.",,";
elseif ($k == 3) $sign3 = $v.",,";
else $sign4 = $v.",,";
}
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '".count($manager_arr)."')";
mysqli_query($link, $sql);
// 寫入待簽表
if (strlen($sign1) == 7) $next_signer = str_replace(",", "", $sign1);
elseif (strlen($sign2) == 7) $next_signer = str_replace(",", "", $sign2);
do_assign("prm02", $mid, $contractno, $next_signer);
// 寄信給下位簽核人
$mail_list = [];
$ret = accountid2email($next_signer);
if (!empty($ret)) {
$mail_list[0] = [$next_signer, $ret[$next_signer]];
include dirname(__DIR__)."/class/Cmail.php";
$sendmail = new Cmail;
$title = "【汰改價審通知】卷號:".$contractno;
$content = "<p>您有待簽核案件,請至<a href=\"http://oa.masada.com.tw\">客戶管理 > 價格審查_汰改</a>,點擊「待簽核」進行作業,謝謝!</p>";
$sendmail->sendx($title, $content, $mail_list);
}
}
}
}
mysqli_close($link);
if ($affected > 0) {
echo "<script type = 'text/JavaScript'>";
echo "alert('".$st_str."成功');";
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&".$token_link."';";
echo "</script>";
} else {
echo "<script type = 'text/JavaScript'>";
echo "alert('".$st_str."失敗,請重新操作');";
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&".$token_link."';";
echo "</script>";
}
}
?>
<?php
/**
* 沒有選擇M1/M4的-->全汰改
*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//print_r($_REQUEST);exit;
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
// 同客戶同電梯不能重覆價審
/*
$warr = [];
$fp_id_str = "";
$fp_id_arr = explode(",", $fp_id_all);
foreach ($fp_id_arr as $val) {
if ($val && $val>0) $fp_id_str .= $val.",";
}
$fp_id_str = rtrim($fp_id_str, ",");
$db_query = "select i.item_spec from pricereview_main m, pricereview_item i ";
$db_query .= "where m.id = i.mid and contractno = '$contractno' and fp_id in ($fp_id_str) and last_check_result <> 'N'";
$res = mysqli_query($link, $db_query);
while ($row = mysqli_fetch_row($res)) {
$warr[] = $row[0];
}
$warning = implode("、", $warr);
if ($warning) {
echo "<script>alert(\"\\n".$warning."\");";
echo "location.href=history.go(-1);</script>";
}
*/
$price_total = str_replace(",", "", $price_total);
$price_lowest = str_replace(",", "", $price_lowest);
$pay_amount = str_replace(",", "", $pay_amount);
$pay_all_amount = str_replace(",", "", $pay_all_amount);
$special_fee = str_replace(",", "", $special_fee);
if (empty($deposit_rate)) $deposit_rate = 0;
if (empty($keep_rate)) $keep_rate = 0;
if (empty($warranty_rate)) $warranty_rate = 0;
if (empty($special_fee)) $special_fee = 0;
$status = ($pmstatus == "tosign") ? "YS" : "Y1"; // YS:提交 Y1:保存
$st_str = ($status == "YS") ? "提交" : "保存";
$create_at = date("Y-m-d H:i:s");
$tds = date("Y-m-d");
// 客戶資料
$sql = "select vol_no, salesman, customer, address from hope_elevator_customer where vol_no = '$vol_no'";
$res = mysqli_query($link, $sql);
$row = mysqli_fetch_row($res);
list($contractno, $person, $company, $address) = $row;
mysqli_free_result($res);
// 同一卷號只限一筆價審
$sql = "select count(*) from pricereview_main where contractno = '$contractno' and status in ('Y1', 'YS', 'YY')";
$res = mysqli_query($link, $sql);
$row = mysqli_fetch_row($res);
if ($row[0] > 0) {
echo "<script>";
echo "alert('請勿重覆價審!');";
echo "history.go(-1);";
echo "</script>";
exit;
}
// 上傳報價單
$target_dir = "pricereview-uploads/";
if ($_FILES["attatch1"]["error"] == 0) {
$file_name = $_FILES["attatch1"]["name"];
$temp_file_name = $_FILES["attatch1"]["tmp_name"];
$file_size = $_FILES["attatch1"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file1 = $target_dir . $vol_no . "-price-" . $tds . "." . $img_file_type;
$upload_ok = 1;
foreach (glob($target_dir . $vol_no . "-price-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_1 = move_uploaded_file($temp_file_name, $target_file1);
} else $target_file1 = "";
// 上傳附表一
if ($_FILES["attatch2"]["error"] == 0) {
$file_name = $_FILES["attatch2"]["name"];
$temp_file_name = $_FILES["attatch2"]["tmp_name"];
$file_size = $_FILES["attatch2"]["size"];
$img_file_type = pathinfo($file_name, PATHINFO_EXTENSION);
$target_file2 = $target_dir . $vol_no . "-appendix-" . $tds . "." . $img_file_type;
$upload_ok = 1;
foreach (glob($target_dir . $vol_no . "-appendix-*") as $todelfile) {
unlink($todelfile);
}
$upload_res_2 = move_uploaded_file($temp_file_name, $target_file2);
} else $target_file2 = "";
if (($target_file1 && !$upload_res_1) || ($target_file2 && !$upload_res_2)) {
echo "<script type ='text/JavaScript'>";
echo "alert('檔案上傳失敗,資料請重建。');";
echo "history.go(-1);";
echo "</script>";
exit;
}
// 價格審查單-主文 pricereview_main
$db_query = "insert into pricereview_main(contractno, ekind, person, company, case_name, address, price_lowest, ";
$db_query .= "price_total, price_rate, special_fee, predeal_date, facilitok_date, penalty, deposit_rate, keep_rate, ";
$db_query .= "warranty_rate, memo, status, attatch1, attatch2, creater, create_at) values (";
$db_query .= "'$contractno', '汰改', '$person', '$company', '$case_name', '$address', '$price_lowest', ";
$db_query .= "'$price_total', '$price_rate', '$special_fee', '$predeal_date', '$facilitok_date', '$penalty', '$deposit_rate', '$keep_rate', ";
$db_query .= "'$warranty_rate', '$memo', '$status', '$target_file1', '$target_file2', '$user_id', '$create_at')";
$result = mysqli_query($link, $db_query);
$affected = mysqli_affected_rows($link);
if ($mid = mysqli_insert_id($link)) {
// 價格審查單-明細項目 pricereview_item:電梯
$fp_id_arr = explode(",", $fp_id_all);
$fp_kind_arr = explode(",", $fp_kind_all);
$fp_seat_arr = explode(",", $fp_seat_all);
$fp_numberofstop_arr = explode(",", $fp_numberofstop_all);
$fp_speed_arr = explode(",", $fp_speed_all);
$item_weight_arr = explode(",", $item_weight_all);
$item_op_arr = explode(",", $item_op_all);
$item_spec_arr = explode(",", $item_spec_all);
$item_group_arr = explode(",", $item_group_all);
$item_unit_price_arr = explode(",", $item_unit_price_all);
$item_qty_arr = explode(",", $item_qty_all);
$item_qty_ori_arr = explode(",", $item_qty_ori_all);
$item_price_bp_arr = explode(",", $item_price_bp_all);
$item_price_ct_arr = explode(",", rtrim($item_price_ct_all, ","));
$item_price_arr = explode(",", $item_price_all);
$gross_profit_arr = explode(",", $gross_profit_all);
$item_price_arr = $gross_profit_arr = []; // 先reset, 等審核才產出
// 非全汰改=REN
$renovate_flag = "";
if (preg_match("/M1/", $fp_kind_all)) $renovate_flag = "REN";
// 如果售價變動或電梯數量異動,售價則平均分攤到每台
$avg_fg = 0;
foreach ($item_price_bp_arr as $k => $v) {
if ($v && !isset($item_price_ct_arr[$k])) {
$avg_fg = 1;
break;
}
}
foreach ($item_qty_ori_arr as $k => $v) {
if ($v != $item_qty_arr[$k]) {
$avg_fg = 1;
break;
}
}
if ($price_total_ori != $price_total) $avg_fg = 1;
if ($avg_fg) {
$item_price_ct2_arr = [];
$price_total_item = 0;
foreach ($item_qty_arr as $k => $v) {
$price = floor(($price_total / array_sum($item_qty_arr)) * $v);
$item_price_ct2_arr[] = $price;
if ($k < count($item_qty_arr) - 1) $price_total_item += $price;
}
$item_price_ct2_arr[count($item_qty_arr) - 1] = $price_total - $price_total_item;
$item_price_ct_arr = $item_price_ct2_arr;
}
$item_no = 1;
for ($i = 0; $i < count($item_spec_arr); $i++) {
$spec = trim($item_spec_arr[$i]);
if (empty($spec)) continue;
if (!$fp_id_arr[$i]) $fp_id_arr[$i] = 0;
$item_unit_price_arr[$i] = str_replace(",", "", $item_unit_price_arr[$i]);
$item_qty_arr[$i] = str_replace(",", "", $item_qty_arr[$i]);
$item_price_bp_arr[$i] = str_replace(",", "", $item_price_bp_arr[$i]);
$item_price_ct_arr[$i] = str_replace(",", "", $item_price_ct_arr[$i]);
//$item_price_arr[$i] = str_replace(",", "", $item_price_arr[$i]);
if (empty($item_price_arr[$i])) $item_price_arr[$i] = 0;
//$gross_profit_arr[$i] = str_replace(",", "", $gross_profit_arr[$i]);
if (empty($gross_profit_arr[$i])) $gross_profit_arr[$i] = 0;
$gross_profit_rate = number_format(($gross_profit_arr[$i] / $item_price_bp_arr[$i]) * 100, 1);
$note = $fp_kind_arr[$i] . "," . $fp_seat_arr[$i] . "," . $fp_numberofstop_arr[$i] . "," . $fp_speed_arr[$i];
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_spec, item_weight, item_op, item_group, item_unit_price, item_qty, item_price_bp, item_price_ct, item_price, gross_profit, gross_profit_rate, note) values (";
$db_query .= "'$mid', '$fp_id_arr[$i]', '$item_no', '$item_spec_arr[$i]', '$item_weight_arr[$i]', '$item_op_arr[$i]', 'A', '$item_unit_price_arr[$i]', '$item_qty_arr[$i]', '$item_price_bp_arr[$i]', '$item_price_ct_arr[$i]', '$item_price_arr[$i]', '$gross_profit_arr[$i]', '$gross_profit_rate', '$note')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價格審查單-明細項目 pricereview_item:Option加價
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'B'";
mysqli_query($link, $db_query);
$op_id_arr = explode(",", $op_id_all);
$option_seat_all = str_replace("點選", "", $option_seat_all);
$option_seat_arr = explode(",", str_replace("@@", "", $option_seat_all));
$option_unit_price_arr = explode(",", $option_unit_price_all);
$option_qty_arr = explode(",", $option_qty_all);
$option_price_bp_arr = explode(",", $option_price_bp_all);
$option_memo_arr = explode("@@,", rtrim($option_memo_all, "@@"));
$option_relate_facil_arr = explode(",", htmlspecialchars_decode($option_relate_facil_all));
$item_no = 1;
for ($i = 0; $i < count($option_seat_arr); $i++) {
$spec = trim($option_seat_arr[$i]);
if (empty($spec)) continue;
$option_unit_price_arr[$i] = str_replace(",", "", $option_unit_price_arr[$i]);
$option_qty_arr[$i] = str_replace(",", "", $option_qty_arr[$i]);
$option_price_bp_arr[$i] = str_replace(",", "", $option_price_bp_arr[$i]);
$option_relate_spec = "";
$tmp_arr = explode("<br>", $option_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, memo) values (";
$db_query .= "'$mid', '$op_id_arr[$i]', '$item_no', 'B', '$spec', '$option_relate_spec', '$option_unit_price_arr[$i]', '$option_qty_arr[$i]', '$option_price_bp_arr[$i]', '$option_memo_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價格審查單-明細項目 pricereview_item:拆梯費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'C'";
mysqli_query($link, $db_query);
$dem_id_arr = explode(",", $dem_id_all);
$seat_arr = explode(",", $seat_all);
$floor_arr = explode(",", $floor_all);
$demolition_unit_price_arr = explode(",", $demolition_unit_price_all);
$demolition_qty_arr = explode(",", $demolition_qty_all);
$demolition_price_bp_arr = explode(",", $demolition_price_bp_all);
$item_no = 1;
for ($i = 0; $i < count($seat_arr); $i++) {
$spec = trim($seat_arr[$i]);
if (!$spec) continue;
$demolition_unit_price_arr[$i] = str_replace(",", "", $demolition_unit_price_arr[$i]);
$demolition_qty_arr[$i] = str_replace(",", "", $demolition_qty_arr[$i]);
$demolition_price_bp_arr[$i] = str_replace(",", "", $demolition_price_bp_arr[$i]);
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values (";
$db_query .= "'$mid', '$dem_id_arr[$i]', '$item_no', 'C', '$spec', '$demolition_unit_price_arr[$i]', '$demolition_qty_arr[$i]', '$demolition_price_bp_arr[$i]', '$floor_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價審明細:保養費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'D'";
mysqli_query($link, $db_query);
$mn_id_arr = explode(",", $mn_id_all);
$mn_kind_arr = explode(",", $mn_kind_all);
$mn_seat_arr = explode(",", $mn_seat_all);
$mn_numberofstop_arr = explode(",", $mn_numberofstop_all);
$mn_speed_arr = explode(",", $mn_speed_all);
$mn_unit_price_arr = explode(",", $mn_unit_price_all);
$mn_qty_arr = explode(",", $mn_qty_all);
$mn_price_bp_arr = explode(",", $mn_price_bp_all);
$mn_memo_arr = explode("@@,", rtrim($mn_memo_all, "@@"));
$mn_relate_facil_arr = explode(",", htmlspecialchars_decode($mn_relate_facil_all));
$item_no = 1;
for ($i = 0; $i < count($mn_seat_arr); $i++) {
if (empty($mn_kind_arr[$i])) continue;
$mn_unit_price_arr[$i] = str_replace(",", "", $mn_unit_price_arr[$i]);
$mn_qty_arr[$i] = str_replace(",", "", $mn_qty_arr[$i]);
$mn_price_bp_arr[$i] = str_replace(",", "", $mn_price_bp_arr[$i]);
$note = $mn_seat_arr[$i] . "," . $mn_numberofstop_arr[$i] . "," . $mn_speed_arr[$i];
$option_relate_spec = "";
$tmp_arr = explode("<br>", $mn_relate_facil_arr[$i]);
foreach ($tmp_arr as $val) {
$option_relate_spec .= substr($val, 0, strpos($val, ".")) . ",";
}
$option_relate_spec = rtrim($option_relate_spec, ",");
$db_query = "insert into pricereview_item (mid, price_id, item_no, item_group, item_spec, option_relate_spec, item_unit_price, item_qty, item_price_bp, note, memo) values (";
$db_query .= "'$mid', '$mn_id_arr[$i]', '$item_no', 'D', '$mn_kind_arr[$i]', '$option_relate_spec', '$mn_unit_price_arr[$i]', '$mn_qty_arr[$i]', '$mn_price_bp_arr[$i]', '$note', '$mn_memo_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 價審明細:除外費用
$db_query = "delete from pricereview_item where mid = '$mid' and item_group = 'E'";
mysqli_query($link, $db_query);
$except_note_arr = explode(",", $except_note_all);
$except_spec_arr = explode(",", $except_spec_all);
$except_unit_price_arr = explode(",", $except_unit_price_all);
$except_qty_arr = explode(",", $except_qty_all);
$except_price_bp_arr = explode(",", $except_price_bp_all);
$item_no = 1;
for ($i = 0; $i < count($except_spec_arr); $i++) {
$spec = trim($except_spec_arr[$i]);
if (empty($spec)) continue;
$except_unit_price_arr[$i] = str_replace(",", "", $except_unit_price_arr[$i]);
$except_qty_arr[$i] = str_replace(",", "", $except_qty_arr[$i]);
$except_price_bp_arr[$i] = str_replace(",", "", $except_price_bp_arr[$i]);
$db_query = "insert into pricereview_item (mid, item_no, item_group, item_spec, item_unit_price, item_qty, item_price_bp, note) values (";
$db_query .= "'$mid', '$item_no', 'E', '$spec', '$except_unit_price_arr[$i]', '$except_qty_arr[$i]', '$except_price_bp_arr[$i]', '$except_note_arr[$i]')";
$result = mysqli_query($link, $db_query);
$item_no++;
}
// 款別資訊
$pay_kind_arr = explode(",", $pay_kind_all);
$pay_scale_arr = explode(",", $pay_scale_all);
$pay_amount_arr = explode(",", $pay_amount_all);
$pay_period_arr = explode(",", $pay_period_all);
for ($i = 0; $i < 7; $i++) {
$pay_scale_arr[$i] = (empty($pay_scale_arr[$i])) ? 0 : $pay_scale_arr[$i];
$pay_amount_arr[$i] = (empty($pay_amount_arr[$i])) ? 0 : $pay_amount_arr[$i];
$sql = "insert into pricereview_pay (mid, pay_kind, pay_scale, pay_amount, pay_period, pay_note) values ";
$sql .= "('$mid', '$pay_kind_arr[$i]', '$pay_scale_arr[$i]', '$pay_amount_arr[$i]', '$pay_period_arr[$i]', '$pay_note')";
mysqli_query($link, $sql);
}
// 價審簽核流程
// <75%以下呈至總經理審核. ($price_rate)
// 契約員 > 上級主管 > 詹總 > 總經理
if ($status == "YS") {
$manager_arr = pricereview_renovate_class($price_rate, $user_id, $renovate_flag);
if ($manager_arr) {
$sign1 = $sign2 = $sign3 = $sign4 = "";
foreach ($manager_arr as $k => $v) {
if ($k == 1) $sign1 = $v . ",,";
elseif ($k == 2) $sign2 = $v . ",,";
elseif ($k == 3) $sign3 = $v . ",,";
else $sign4 = $v . ",,";
}
$sql = "insert into pricereview_sign (mid, sign1, sign2, sign3, sign4, sign_total) values ('$mid', '$sign1', '$sign2', '$sign3', '$sign4', '" . count($manager_arr) . "')";
mysqli_query($link, $sql);
// 寫入待簽表
if (strlen($sign1) == 7) $next_signer = str_replace(",", "", $sign1);
elseif (strlen($sign2) == 7) $next_signer = str_replace(",", "", $sign2);
do_assign("prm02", $mid, $contractno, $next_signer);
// 寄信給下位簽核人
$mail_list = [];
$ret = accountid2email($next_signer);
if (!empty($ret)) {
$mail_list[0] = [$next_signer, $ret[$next_signer]];
include dirname(__DIR__) . "/class/Cmail.php";
$sendmail = new Cmail;
$title = "【汰改價審通知】卷號:" . $contractno;
$content = "<p>您有待簽核案件,請至<a href=\"http://oa.masada.com.tw\">客戶管理 > 價格審查_汰改</a>,點擊「待簽核」進行作業,謝謝!</p>";
$sendmail->sendx($title, $content, $mail_list);
}
}
}
}
mysqli_close($link);
if ($affected > 0) {
echo "<script type = 'text/JavaScript'>";
echo "alert('" . $st_str . "成功');";
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&" . $token_link . "';";
echo "</script>";
} else {
echo "<script type = 'text/JavaScript'>";
echo "alert('" . $st_str . "失敗,請重新操作');";
echo "location.href='pricereview_renovate-index.php?function_name=pricereview_renovate&" . $token_link . "';";
echo "</script>";
}
}

Loading…
Cancel
Save