From bbbb8ec8d294679e2d398028c072186aa1467f96 Mon Sep 17 00:00:00 2001 From: "IA2301\\IA_2301" Date: Fri, 15 Mar 2024 16:32:57 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E7=B9=81=E9=AB=94=E7=B0=A1?= =?UTF-8?q?=E9=AB=94=E8=BD=89=E6=8F=9B=202.=E6=96=B0=E5=A2=9E=E7=B0=BD?= =?UTF-8?q?=E6=A0=B8=E9=80=BE=E6=9C=9F=E5=A0=B1=E8=A1=A8=203.=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=89=E8=81=AF=E5=9C=B0=E9=9C=87=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=204.localhost=20=E9=A6=96=E9=A0=81=E9=96=8B=E7=99=BC=E7=92=B0?= =?UTF-8?q?=E5=A2=83=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 52 ++- wms/account-create.php | 12 +- wms/account-record-submit.php | 202 +++++++---- wms/account-record-update.php | 160 ++++++--- wms/account-user-input.php | 21 +- wms/class/Ctranslate.php | 42 ++- wms/excel/sanlien.xlsx | Bin 7710 -> 146940 bytes wms/excel/signed_overdue_date.xlsx | Bin 0 -> 7836 bytes wms/fun_global.php | 4 +- wms/report_system/api/downloadExcel.php | 84 ++++- wms/report_system/api/getSingedDetails.php | 321 ++++++++++++++---- wms/report_system/conn.php | 40 ++- wms/report_system/js/alpine.js | 67 +++- wms/report_system/signed_overdue_date.php | 86 ++++- wms/sanlien/conn.php | 40 ++- wms/wipwhole-index-function.php | 15 +- wms/wipwhole-renovate-index-function.php | 14 + ...whole-renovate-rec-invoice-edit-submit.php | 261 -------------- wms/wipwholeinstall-index-export-excel.php | 2 +- wms/wipwholeinstall-index-table-html.php | 2 +- ...oleinstall-renovate-index-export-excel.php | 2 +- ...wholeinstall-renovate-index-table-html.php | 2 +- 22 files changed, 885 insertions(+), 544 deletions(-) create mode 100644 wms/excel/signed_overdue_date.xlsx diff --git a/index.html b/index.html index eeb09682..26669857 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,48 @@ - - - - - - + + + + + + + + + + +
+
+ LOGO +

開發連結

+ +
+
+ + + \ No newline at end of file diff --git a/wms/account-create.php b/wms/account-create.php index cd9e78e6..8497840f 100644 --- a/wms/account-create.php +++ b/wms/account-create.php @@ -31,17 +31,7 @@ $(function(){
Please fill up the required field!

"; - } else { - echo "

Record has added successfully

"; - } - } - */ ?> @@ -151,12 +141,14 @@ $(function(){ } ?> +
+
diff --git a/wms/account-record-submit.php b/wms/account-record-submit.php index 8ecd02b7..8b24d0ff 100644 --- a/wms/account-record-submit.php +++ b/wms/account-record-submit.php @@ -1,75 +1,153 @@ connect_errno) { + echo "連接 MySQL 失敗:" . $link->connect_error; + exit(); } - - // mysqli_insert_id可以抓到第一筆的id - //$new_id= mysqli_insert_id ($link); - #echo "新增後的id為 {$id} "; - $affected = mysqli_affected_rows($link); - mysqli_close($link); - if ($affected > 0) { - // 如果有一筆以上代表有更新 - echo ""; - } elseif ($affected == 0) { - echo ""; - } else { - echo "{$db_query} 語法執行失敗,錯誤訊息SSS: " . mysqli_error($link); + + // 開始事務 + $link->begin_transaction(); + try { + + if (in_array($accounttype, ["B", "E", "M", "W"])) { + if (empty($department_id)) { + $department_id_error = "部門未填寫"; + throw new Exception('部門未填寫'); + } + if (empty($role_id)) { + $role_id_error = "職別未填寫"; + throw new Exception('職別未填寫'); + } + } + + + // 新增帳號 table account + $sql = "INSERT INTO account ( + accounttype, accountid, pwd, name, tel, + address, email, lineid, wechatid, phone_call_help, + chat_for_help, remote_help, repairerid, manager, department_id, + role_id, creater, create_at + )VALUES( + ?,?,?,?,?,?,?,?,?,?, + ?,?,?,?,?,?,?,? + ) + "; + $stmt = $link->prepare($sql); + $stmt->bind_param( + 'ssssssssssssssssss', + $i_data['accounttype'], + $i_data['accountid'], + $i_data['pwd'], + $i_data['name'], + $i_data['tel'], + $i_data['address'], + $i_data['email'], + $i_data['lineid'], + $i_data['wechatid'], + $i_data['phone_call_help'], + $i_data['chat_for_help'], + $i_data['remote_help'], + $i_data['repairerid'], + $i_data['manager'], + $i_data['department_id'], + $i_data['role_id'], + $i_data['creater'], + $i_data['create_at'] + ); + $stmt->execute(); + + // 新增權限 table account_auth + if (in_array($accounttype, ["B", "E", "M", "W"])) { + $sql = "INSERT INTO account_auth (accountid, permission) + SELECT '$accountid', permission FROM department WHERE department_id = ? AND role_id = ? + "; + $stmt2 = $link->prepare($sql); + $stmt2->bind_param('ss', $department_id, $role_id); + $stmt2->execute(); + } + + // 新增帳號 table employee + $sql = " + INSERT INTO employee ( + employee_no, + depart_no, + name, + mail + )VALUES( + ?, + ?, + ?, + ? + ); + "; + $stmt3 = $link->prepare($sql); + $stmt3->bind_param('ssss', $i_data['accountid'], $i_data['department_id'], $i_data['name'], $i_data['email']); + $stmt3->execute(); + + $link->commit(); + + $url = "location.href='account-index.php?function_name=account&" . $token_link . "';"; + redircetTo($url); + } catch (Exception $e) { + // 如果發生任何錯誤,回滾事務 + $link->rollback(); + // echo "rollback:" . $e->getMessage(); } + + // 關閉連接 + $link->close(); +} + + +function redircetTo($url) +{ + echo ""; } -?> \ No newline at end of file diff --git a/wms/account-record-update.php b/wms/account-record-update.php index a5a9171c..2cf3ee4e 100644 --- a/wms/account-record-update.php +++ b/wms/account-record-update.php @@ -4,63 +4,123 @@ include "header.php"; if (isset($_POST['update'])) { function user_input($data) { - $data1 = trim($data); - $data2 = stripslashes($data1); - $data3 = htmlspecialchars($data2); - return $data3; + return htmlspecialchars(stripslashes(trim($data))); } - $id = $_POST['id']; - $accounttype = user_input($_POST["accounttype"]); - $accountid = user_input($_POST["accountid"]); - $pwd = user_input($_POST["pwd"]); - $name = user_input($_POST["name"]); - $tel = user_input($_POST["tel"]); - $address = user_input($_POST["address"]); - $email = user_input($_POST["email"]); - $lineid = user_input($_POST["lineid"]); - $wechatid = user_input($_POST["wechatid"]); - $phone_call_help = user_input($_POST["phone_call_help"]); - $chat_for_help = user_input($_POST["chat_for_help"]); - $remote_help = user_input($_POST["remote_help"]); - $repairerid = user_input($_POST["repairerid"]); - $manager = user_input($_POST["manager"]); - $department_id = user_input($_POST["department_id"]); - $role_id = user_input($_POST["role_id"]); - $creater = user_input($_POST["creater"]); - $create_at = date('Y/m/d H:i:s'); + $id = $_POST['id']; + $accounttype = user_input($_POST["accounttype"]); + $accountid = user_input($_POST["accountid"]); + $pwd = user_input($_POST["pwd"]); + $name = user_input($_POST["name"]); + $tel = user_input($_POST["tel"]); + $address = user_input($_POST["address"]); + $email = user_input($_POST["email"]); + $lineid = user_input($_POST["lineid"]); + $wechatid = user_input($_POST["wechatid"]); + $phone_call_help = user_input($_POST["phone_call_help"]); + $chat_for_help = user_input($_POST["chat_for_help"]); + $remote_help = user_input($_POST["remote_help"]); + $repairerid = user_input($_POST["repairerid"]); + $manager = user_input($_POST["manager"]); + $department_id = user_input($_POST["department_id"]); + $role_id = user_input($_POST["role_id"]); + $creater = user_input($_POST["creater"]); + $create_at = date('Y-m-d H:i:s'); + // 檢查連接是否成功 + if ($link->connect_errno) { + echo "連接 MySQL 失敗:" . $link->connect_error; + exit(); + } + + // 開始事務 + $link->begin_transaction(); + + try { + if (in_array($accounttype, ["B", "E", "M", "W"])) { + if (empty($department_id)) { + $department_id_error = "部門未填寫"; + throw new Exception('部門未填寫'); + } + if (empty($role_id)) { + $role_id_error = "職別未填寫"; + throw new Exception('職別未填寫'); + } + } + + $sql = "UPDATE account + SET + pwd = ?, name = ?, tel = ?, address = ?, email = ?, + lineid = ?, wechatid = ?,phone_call_help = ?, chat_for_help = ?,remote_help = ?, + repairerid = ?, manager = ?, accounttype = ?, department_id = ?, role_id = ?, + creater = ?, create_at = ? + WHERE id = ? + "; + $stmt = $link->prepare($sql); + $stmt->bind_param( + 'ssssssssssssssssss', + $pwd, + $name, + $tel, + $address, + $email, + $lineid, + $wechatid, + $phone_call_help, + $chat_for_help, + $remote_help, + $repairerid, + $manager, + $accounttype, + $department_id, + $role_id, + $creater, + $create_at, + $id + ); + $stmt->execute(); - $db_query = "UPDATE account set pwd = '$pwd', name = '$name', tel = '$tel', address = '$address', "; - $db_query .= "email = '$email', lineid = '$lineid', wechatid = '$wechatid', phone_call_help = '$phone_call_help', chat_for_help = '$chat_for_help', "; - $db_query .= "remote_help = '$remote_help', repairerid = '$repairerid', manager = '$manager', "; - $db_query .= "accounttype = '$accounttype', "; - $db_query .= "department_id = '$department_id', role_id = '$role_id', create_at = '$create_at' WHERE id='$id'"; - mysqli_query($link, $db_query); - $affected = mysqli_affected_rows($link); - if ((in_array($accounttype, ["B", "E", "M", "W"])) && $department_id && $role_id) { - $sql = "select permission from department where department_id = '$department_id' and role_id = '$role_id'"; - $res = mysqli_query($link, $sql); - if ($row = mysqli_fetch_row($res)) { - $db_query = "update account_auth set permission = '$row[0]' where accountid = '$accountid'"; - mysqli_query($link, $db_query); + if (in_array($accounttype, ["B", "E", "M", "W"])) { + $sql = "select permission from department where department_id = '$department_id' and role_id = '$role_id'"; + $result = $link->query($sql); + if ($result->num_rows > 0) { + while ($row = $result->fetch_assoc()) { + $permission = $row['permission']; + $sql = "UPDATE account_auth SET permission = '$permission' WHERE accountid = ?"; + $stmt2 = $link->prepare($sql); + $stmt2->bind_param('s', $accountid); + $stmt2->execute(); + } + } } - mysqli_free_result($res); + + $sql = "UPDATE employee + SET + depart_no = ? , + name = ? , + mail = ? + WHERE employee_no = ? + "; + $stmt3 = $link->prepare($sql); + $stmt3->bind_param('ssss', $department_id, $name, $email, $accountid); + $stmt3->execute(); + + $link->commit(); + + $url = "account-edit.php?function_name=account&id=$id&$token_link"; + redircetTo($url); + } catch (Exception $e) { + echo 'Caught exception: ', $e->getMessage(), "\n"; } mysqli_close($link); - if ($affected > 0) { - echo ""; - } elseif ($affected == 0) { - echo ""; - } else { - echo "{$db_query} 語法執行失敗,錯誤訊息SSS: " . mysqli_error($link); - } +} + +function redircetTo($url) +{ + echo ""; } diff --git a/wms/account-user-input.php b/wms/account-user-input.php index 2af17727..b97ea5d2 100644 --- a/wms/account-user-input.php +++ b/wms/account-user-input.php @@ -29,7 +29,26 @@ $role_id = user_input($_POST["role_id"]); $creater = user_input($_POST["creater"]); $create_at = date('Y/m/d H:i:s'); - +$i_data = array( + "accounttype" => $accounttype, + "accountid" => $accountid, + "pwd" => $pwd, + "name" => $name, + "tel" => $tel, + "address" => $address, + "email" => $email, + "lineid" => $lineid, + "wechatid" => $wechatid, + "phone_call_help" => $phone_call_help, + "chat_for_help" => $chat_for_help, + "remote_help" => $remote_help, + "repairerid" => $repairerid, + "manager" => $manager, + "department_id" => $department_id, + "role_id" => $role_id, + "creater" => $creater, + "create_at" => $create_at +) /* diff --git a/wms/class/Ctranslate.php b/wms/class/Ctranslate.php index dbbbaa0e..14a67a4a 100644 --- a/wms/class/Ctranslate.php +++ b/wms/class/Ctranslate.php @@ -3,23 +3,35 @@ require_once __DIR__ . '/vendor/autoload.php'; use sqhlib\Hanzi\HanziConvert; -class Ctranslate extends HanziConvert{ - function simpleToTrad($str){ - return $this->convert($str,true); - } +class Ctranslate extends HanziConvert +{ - function tradToSimple($str){ - return $this->convert($str,false); + function fix($str){ + $arr = array( + '槼' => '規', + '讅' => '審', + ); + foreach($arr as $k => $v){ + $str = str_replace($k, $v, $str); + } + return $str; } -} -// $str = '平時已秉班揚筆,暇處不妨甘石經。吾里忻傳日邊信,君言頻中斗杓星。會稽夫子餘詩禮,巴蜀君平舊典型。歷歷周天三百度,更參璿玉到虞廷。'; -// echo HanziConvert::convert($str);//默认是繁体转简体 -// echo HanziConvert::convert($str,true);//第二个参数传入布尔真则是简体转繁体 + function simpleToTrad($str) + { + $str = $this->convert($str, true); + $str = $this->fix($str); + return $str; + } -//简体转繁体 -echo $str = '平时已秉班扬笔,暇处不妨甘石经。吾里忻传日边信,君言频中斗杓星。会稽夫子余诗礼,巴蜀君平旧典型。歷歷周天三百度,更参璇玉到虞廷。'; -echo "
"; + function tradToSimple($str) + { + return $this->convert($str, false); + } +} -$ct = new Ctranslate(); -echo $ct->simpleToTrad($str); \ No newline at end of file +// 简体转繁体 +// echo $str = '价格审查'; +// echo "
"; +// $ct = new Ctranslate(); +// echo $ct->simpleToTrad($str); diff --git a/wms/excel/sanlien.xlsx b/wms/excel/sanlien.xlsx index a36a6f3ec569e6c0f5151a014267513bdaa04091..4dea8642259ee0b2b6dc5a7dcab72e00eb38d9b9 100644 GIT binary patch literal 146940 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%0Ak{NzCNR6s;(L&;c#wur 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
th30G(4q{SM&_ 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 delta 4131 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 literal 0 HcmV?d00001 diff --git a/wms/fun_global.php b/wms/fun_global.php index cb2462ec..653eeadf 100644 --- a/wms/fun_global.php +++ b/wms/fun_global.php @@ -202,7 +202,9 @@ function check_user_permission($user_id, $token) '/wms/delivery_kpi.php', '/wms/contract_m-index.php', '/wms/contract_b-index.php', - '/wms/report_system/signed_overdue_date.php' + '/wms/report_system/signed_overdue_date.php', + '/wms/basedata_system/departs_config.php', + '/wms/basedata_system/posts_config.php' ]; if (in_array($_SERVER["SCRIPT_NAME"], $ignore_url_arr)) return; diff --git a/wms/report_system/api/downloadExcel.php b/wms/report_system/api/downloadExcel.php index eb912df1..d33814f7 100644 --- a/wms/report_system/api/downloadExcel.php +++ b/wms/report_system/api/downloadExcel.php @@ -26,26 +26,78 @@ function alpha2num($a) } try { - $create_at_start = isset($_REQUEST['create_at_start']) ? $_REQUEST['create_at_start'] : ''; - $create_at_end = isset($_REQUEST['create_at_end']) ? $_REQUEST['create_at_end'] : ''; - if (!empty($create_at_start) && !empty($create_at_end)) { - $sql_str = "SELECT * - FROM sanlien_log - WHERE SUBSTR(create_at, 1, 10) - BETWEEN :create_at_start AND :create_at_end - "; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':create_at_start', $create_at_start); - $stmt->bindParam(':create_at_end', $create_at_end); - } else { - $sql_str = "SELECT * FROM sanlien_log "; - $stmt = $conn->prepare($sql_str); + $department_id = isset($_REQUEST['department_id']) ? $_REQUEST['department_id'] : ''; + $user_id = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : ''; + $search = isset($_REQUEST['search']) ? $_REQUEST['search'] : ''; + + $sql_str = " + SELECT + sm.system_name AS '序號', + fm.flow_name AS '系統名稱', + f.form_key AS '流程名稱', + sf.current_assigner AS '當前簽核者', + a.name AS '姓名', + d.depart_name AS '所屬部門', + sf.update_date AS '接收日期' + FROM flow AS f + LEFT JOIN system_main as sm + ON f.system_id = sm.system_id + LEFT JOIN flow_main as fm + ON f.flow_id = fm.flow_id + LEFT JOIN ( + SELECT + form_key, + current_assigner, + IF(update_date IS NULL,create_date,update_date) AS update_date, + MAX(seq) AS seq + FROM subflow + WHERE 1 = 1 + GROUP BY form_key, current_assigner, update_date + ) AS sf + ON f.form_key = sf.form_key + LEFT JOIN account AS a + ON sf.current_assigner = a.accountid + LEFT JOIN ( + SELECT DISTINCT + department_id, + name AS depart_name + FROM department + ) AS d + ON a.department_id = d.department_id + WHERE 1 =1 + AND f.flow_code != 'Z' + AND sf.form_key != '' + AND sf.form_key IS NOT NULL + AND sf.current_assigner != '' + AND sf.current_assigner IS NOT NULL + "; + $sql_str .= !empty($department_id) ? " AND a.department_id = :department_id " : ""; + $sql_str .= !empty($user_id) ? " AND sf.current_assigner = :user_id " : ""; + if (!empty($search)) { + $sql_str .= " AND ( + sm.system_name LIKE :search + OR fm.flow_name LIKE :search + OR f.form_key LIKE :search + OR sf.current_assigner LIKE :search + OR a.name LIKE :search + OR d.department_id LIKE :search + OR d.depart_name LIKE :search + OR sf.update_date LIKE :search + ) "; } + $stmt = $conn->prepare($sql_str); + + !empty($department_id) ? $stmt->bindParam(':department_id', $department_id) : ''; + !empty($user_id) ? $stmt->bindParam(':user_id', $user_id) : ''; + !empty($search) ? $stmt->bindValue(':search', '%' . $search . '%') : ''; + $stmt->execute(); + $data = $stmt->fetchAll(PDO::FETCH_ASSOC); + $stmt->execute(); $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); - $sheet->setTitle('三連地震數據'); + $sheet->setTitle('部門逾期待簽'); // 設定標題 $colTitleArr = []; @@ -69,7 +121,7 @@ try { $writer = new Xlsx($spreadsheet); - $file_path = dirname(dirname(dirname(__DIR__))) . '/wms/excel/' . 'sanlien.xlsx'; + $file_path = dirname(dirname(dirname(__DIR__))) . '/wms/excel/' . 'signed_overdue_date.xlsx'; $writer->save($file_path); try { diff --git a/wms/report_system/api/getSingedDetails.php b/wms/report_system/api/getSingedDetails.php index a9fd5dbf..99dafdee 100644 --- a/wms/report_system/api/getSingedDetails.php +++ b/wms/report_system/api/getSingedDetails.php @@ -2,85 +2,197 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { require_once('../conn.php'); - header("Content-Type: application/json; charset=UTF-8"); + $signDetails = new signDetails(); - echo $signDetails->getSingDetails(); + $method = !empty($_POST['method']) ? $_POST['method'] : ''; + + if ($method == 'getSingDetails') { + header("Content-Type: application/json; charset=UTF-8"); + echo $signDetails->getSingDetails(); + } + + if ($method == 'getSingDetailsAllCount') { + header("Content-Type: application/html; charset=UTF-8"); + echo $signDetails->getSingDetailsAllCount(); + } } class signDetails { - - public function getSingDetails() + public $count = 0; + public $now_page = 1; + public $end_page = 1; + public $per = 10; + public $system_name = ''; + public $department_id = ''; + public $user_id = ''; + public $search = ''; + + public function __construct() { - global $conn; + $this->now_page = !empty($_POST['now_page']) ? $_POST['now_page'] : 1; + $this->per = !empty($_POST['per']) ? $_POST['per'] : 10; + $this->system_name = !empty($_POST['system_name']) ? $_POST['system_name'] : ''; + $this->department_id = !empty($_POST['department_id']) ? $_POST['department_id'] : ''; + $this->user_id = !empty($_POST['user_id']) ? $_POST['user_id'] : ''; + $this->search = !empty($_POST['search']) ? $_POST['search'] : ''; + } - $system_name = !empty($_POST['system_name']) ? $_POST['system_name'] : ''; - $department_id = !empty($_POST['department_id']) ? $_POST['department_id'] : ''; - $user_id = !empty($_POST['user_id']) ? $_POST['user_id'] : ''; + public function getSingDetailsAllCount() + { + global $conn; + global $connEkp; + $system_name = $this->system_name; + $department_id = $this->department_id; + $user_id = $this->user_id; + $search = $this->search; + $all_count = 0; + $wms_count = 0; + $bpm_count = 0; $sql_str = " - SELECT - sm.system_name, - fm.flow_name, - f.form_key, - sf.current_assigner, - a.name AS user_name, - d.department_id, - d.depart_name AS depart_name, - sf.update_date - FROM flow AS f - LEFT JOIN system_main as sm - ON f.system_id = sm.system_id - LEFT JOIN flow_main as fm - ON f.flow_id = fm.flow_id - LEFT JOIN ( - SELECT - form_key, - current_assigner, - IF(update_date IS NULL,create_date,update_date) AS update_date, - MAX(seq) AS seq - FROM subflow - WHERE 1 = 1 - GROUP BY form_key, current_assigner, update_date - ) AS sf - ON f.form_key = sf.form_key - LEFT JOIN account AS a - ON sf.current_assigner = a.accountid - LEFT JOIN ( - SELECT DISTINCT - department_id, - name AS depart_name - FROM department - ) AS d - ON a.department_id = d.department_id - WHERE 1 =1 - AND f.flow_code != 'Z' - AND sf.form_key != '' - AND sf.form_key IS NOT NULL - AND sf.current_assigner != '' - AND sf.current_assigner IS NOT NULL - "; - if(!empty($department_id)){ - $sql_str .= " AND d.department_id = :department_id "; - } - if(!empty($user_id)){ - $sql_str .= " AND sf.current_assigner = :user_id "; + SELECT + sm.system_name, + fm.flow_name, + f.form_key, + sf.current_assigner, + a.name AS user_name, + d.department_id, + d.depart_name AS depart_name, + sf.update_date + FROM flow AS f + LEFT JOIN system_main as sm + ON f.system_id = sm.system_id + LEFT JOIN flow_main as fm + ON f.flow_id = fm.flow_id + LEFT JOIN ( + SELECT + form_key, + current_assigner, + IF(update_date IS NULL,create_date,update_date) AS update_date, + MAX(seq) AS seq + FROM subflow + WHERE 1 = 1 + GROUP BY form_key, current_assigner, update_date + ) AS sf + ON f.form_key = sf.form_key + LEFT JOIN account AS a + ON sf.current_assigner = a.accountid + LEFT JOIN ( + SELECT DISTINCT + department_id, + name AS depart_name + FROM department + ) AS d + ON a.department_id = d.department_id + WHERE 1 =1 + AND f.flow_code != 'Z' + AND sf.form_key != '' + AND sf.form_key IS NOT NULL + AND sf.current_assigner != '' + AND sf.current_assigner IS NOT NULL + "; + $sql_str .= !empty($department_id) ? " AND a.department_id = :department_id " : ""; + $sql_str .= !empty($user_id) ? " AND sf.current_assigner = :user_id " : ""; + if (!empty($search)) { + $sql_str .= " AND ( + sm.system_name LIKE :search + OR fm.flow_name LIKE :search + OR f.form_key LIKE :search + OR sf.current_assigner LIKE :search + OR a.name LIKE :search + OR d.department_id LIKE :search + OR d.depart_name LIKE :search + OR sf.update_date LIKE :search + ) "; } $stmt = $conn->prepare($sql_str); - if(!empty($department_id)){ - $stmt->bindParam(':department_id', $department_id); - } - if(!empty($user_id)){ - $stmt->bindParam(':user_id', $user_id); + !empty($department_id) ? $stmt->bindParam(':department_id', $department_id) : ''; + !empty($user_id) ? $stmt->bindParam(':user_id', $user_id) : ''; + !empty($search) ? $stmt->bindValue(':search', '%' . $search . '%') : ''; + $stmt->execute(); + $wms_count = $stmt->rowCount(); + + $sql_str = " + SELECT + '藍凌BPM' AS system_name, + krt.fd_name AS flow_name, -- 流程名稱 + lp.fd_id AS form_key, + soe.fd_no AS current_assigner, -- 預計處理人員工編號 + soe.fd_name AS user_name, -- 預計處理人名稱 + '' AS department_id, + soe2.fd_name AS depart_name, -- 部門 + lp.fd_create_time AS update_date -- 創建時間 + FROM lbpm_process AS lp + LEFT JOIN km_review_template AS krt + ON lp.fd_template_model_id = krt.fd_id + LEFT JOIN lbpm_workitem AS lw + ON lp.fd_id = lw.fd_process_id + LEFT JOIN sys_org_element AS soe + ON lw.fd_expected_id = soe.fd_id + LEFT JOIN sys_org_element AS soe2 + ON soe2.fd_id = soe.fd_parentid + LEFT JOIN lbpm_history_workitem AS lhw + ON lp.fd_id = lhw.fd_process_id + WHERE 1=1 + -- AND lw.fd_status = '20' + AND lhw.fd_activity_type = 'reviewWorkitem' + AND krt.fd_name != '' + AND soe.fd_no != '' + "; + $sql_str .= !empty($department_id) ? " AND a.department_id = :department_id " : ""; + $sql_str .= !empty($user_id) ? " AND sf.current_assigner = :user_id " : ""; + if (!empty($search)) { + $sql_str .= " AND ( + krt.fd_name LIKE :search + OR lp.fd_id LIKE :search + OR soe.fd_no LIKE :search + OR soe.fd_name LIKE :search + OR soe2.fd_name LIKE :search + OR lp.fd_create_time LIKE :search + ) "; } + $stmt = $connEkp->prepare($sql_str); + !empty($department_id) ? $stmt->bindParam(':department_id', $department_id) : ''; + !empty($user_id) ? $stmt->bindParam(':user_id', $user_id) : ''; + !empty($search) ? $stmt->bindValue(':search', '%' . $search . '%') : ''; $stmt->execute(); - $data = $stmt->fetchAll(PDO::FETCH_ASSOC); - return json_encode($data, JSON_UNESCAPED_UNICODE); + $bpm_count = $stmt->rowCount(); + + $all_count = $wms_count + $bpm_count; + if ($system_name == 'wms') + return $wms_count; + if ($system_name == 'bpm') + return $bpm_count; + return $all_count; } - public function getSingDetailsAllCount() + public function getNowPage() + { + return $this->now_page = !empty($_POST['now_page']) ? $_POST['now_page'] : 1; + } + + public function getEndPage() + { + $count = $this->getSingDetailsAllCount(); + return $this->end_page = ceil($count / $this->per); + } + + public function getSingDetails() { global $conn; + global $connEkp; + $system_name = $this->system_name; + $department_id = $this->department_id; + $user_id = $this->user_id; + $search = $this->search; + $per = $this->per; + $now_page = $this->now_page; + $limit_start = ($now_page - 1) * $per; + $data = []; + $wms_data = []; + $bpm_data = []; + $sql_str = " SELECT sm.system_name, @@ -90,8 +202,8 @@ class signDetails a.name AS user_name, d.department_id, d.depart_name AS depart_name, - -- d.name AS depart_name, - sf.update_date + sf.update_date, + DATEDIFF(NOW(),sf.update_date) AS diff_days FROM flow AS f LEFT JOIN system_main as sm ON f.system_id = sm.system_id @@ -124,8 +236,85 @@ class signDetails AND sf.current_assigner != '' AND sf.current_assigner IS NOT NULL "; + $sql_str .= !empty($department_id) ? " AND a.department_id = :department_id " : ""; + $sql_str .= !empty($user_id) ? " AND sf.current_assigner = :user_id " : ""; + if (!empty($search)) { + $sql_str .= " AND ( + sm.system_name LIKE :search + OR fm.flow_name LIKE :search + OR f.form_key LIKE :search + OR sf.current_assigner LIKE :search + OR a.name LIKE :search + OR d.department_id LIKE :search + OR d.depart_name LIKE :search + OR sf.update_date LIKE :search + ) "; + } + $sql_str .= " LIMIT :per OFFSET :limit_start"; $stmt = $conn->prepare($sql_str); + !empty($department_id) ? $stmt->bindParam(':department_id', $department_id) : ''; + !empty($user_id) ? $stmt->bindParam(':user_id', $user_id) : ''; + $stmt->bindParam(':limit_start', $limit_start, PDO::PARAM_INT); + $stmt->bindParam(':per', $per, PDO::PARAM_INT); + !empty($search) ? $stmt->bindValue(':search', '%' . $search . '%') : ''; $stmt->execute(); - return $stmt->rowCount(); + $wms_data = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $sql_str = " + SELECT + '藍凌BPM' AS system_name, + krt.fd_name AS flow_name, -- 流程名稱 + lp.fd_id AS form_key, + soe.fd_no AS current_assigner, -- 預計處理人員工編號 + soe.fd_name AS user_name, -- 預計處理人名稱 + '' AS department_id, + soe2.fd_name AS depart_name, -- 部門 + SUBSTR(lp.fd_create_time,1,19) AS update_date, -- 創建時間 + DATEDIFF(NOW(),lp.fd_create_time) AS diff_days + FROM lbpm_process AS lp + LEFT JOIN km_review_template AS krt + ON lp.fd_template_model_id = krt.fd_id + LEFT JOIN lbpm_workitem AS lw + ON lp.fd_id = lw.fd_process_id + LEFT JOIN sys_org_element AS soe + ON lw.fd_expected_id = soe.fd_id + LEFT JOIN sys_org_element AS soe2 + ON soe2.fd_id = soe.fd_parentid + LEFT JOIN lbpm_history_workitem AS lhw + ON lp.fd_id = lhw.fd_process_id + WHERE 1=1 + -- AND lw.fd_status = '20' + AND lhw.fd_activity_type = 'reviewWorkitem' + AND krt.fd_name != '' + AND soe.fd_no != '' + "; + $sql_str .= !empty($department_id) ? " AND a.department_id = :department_id " : ""; + $sql_str .= !empty($user_id) ? " AND sf.current_assigner = :user_id " : ""; + if (!empty($search)) { + $sql_str .= " AND ( + krt.fd_name LIKE :search + OR lp.fd_id LIKE :search + OR soe.fd_no LIKE :search + OR soe.fd_name LIKE :search + OR soe2.fd_name LIKE :search + OR lp.fd_create_time LIKE :search + ) "; + } + $sql_str .= " LIMIT :per OFFSET :limit_start"; + $stmt = $connEkp->prepare($sql_str); + !empty($department_id) ? $stmt->bindParam(':department_id', $department_id) : ''; + !empty($user_id) ? $stmt->bindParam(':user_id', $user_id) : ''; + $stmt->bindParam(':limit_start', $limit_start, PDO::PARAM_INT); + $stmt->bindParam(':per', $per, PDO::PARAM_INT); + !empty($search) ? $stmt->bindValue(':search', '%' . $search . '%') : ''; + $stmt->execute(); + $bpm_data = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $data = array_merge($wms_data, $bpm_data); + if ($system_name == 'wms') + return json_encode($wms_data, JSON_UNESCAPED_UNICODE); + if ($system_name == 'bpm') + return json_encode($bpm_data, JSON_UNESCAPED_UNICODE); + return json_encode($data, JSON_UNESCAPED_UNICODE); } -} \ No newline at end of file +} diff --git a/wms/report_system/conn.php b/wms/report_system/conn.php index 7c57c0e0..66e4e76e 100644 --- a/wms/report_system/conn.php +++ b/wms/report_system/conn.php @@ -13,35 +13,39 @@ if (file_exists($envFile)) { } } } -$db_hostname = getenv('DB_HOST'); //資料庫主機名稱 -$db_username = getenv('DB_USERNAME'); //登入資料庫的管理者的帳號 -$db_password = getenv('DB_PASSWORD'); //登入密碼 -$db_name = getenv('DB_DATABASE'); //使用的資料庫 -$db_charset = 'utf8'; //設定字元編碼 -//建立PDO的指定工作 -$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; +// wms +$db_hostname = getenv('DB_HOST'); +$db_username = getenv('DB_USERNAME'); +$db_password = getenv('DB_PASSWORD'); +$db_name = getenv('DB_DATABASE'); +$db_charset = 'utf8'; + +// ekp bpm +$db_ekp_hostname = getenv('DB_BPM_HOST'); +$db_ekp_username = getenv('DB_BPM_USERNAME'); +$db_ekp_password = getenv('DB_BPM_PASSWORD'); +$db_ekp_name = getenv('DB_BPM_DATABASE'); +$db_ekp_charset = 'utf8'; + try { - //使用PDO連接到MySQL資料庫,建立PDO物件 - $conn = new PDO($dsn, $db_username, $db_password); - //當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException) - //PDO異常處理,PDO::ATTR_ERRMODE,有以下三種值的設定 - //PDO::ERRMODE_SILENT: 預設模式,不主動報錯,需要以$conn->errorInfo()的形式獲取錯誤資訊 - //PDO::ERRMODE_WARNING: 引發 E_WARNING 錯誤,主動報錯 - //PDO::ERRMODE_EXCEPTION: 主動抛出 exceptions 異常,需要以try{}cath(){}輸出錯誤資訊。 - //設定主動以警告的形式報錯 + $dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; + $conn = new PDO($dsn, $db_username, $db_password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $dsn_ekp = "mysql:host=$db_ekp_hostname;dbname=$db_ekp_name;charset=$db_ekp_charset"; + $connEkp = new PDO($dsn_ekp, $db_ekp_username, $db_ekp_password); + $connEkp->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0117", "IFFCUFM="); // if ($connT8) { // $connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // } - //如果連接錯誤,將抛出一個PDOException異常對象 + } catch (PDOException $e) { - //如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作 die("ERROR!!!: " . $e->getMessage()); } -//$conn = null; //關閉資料庫的連線 diff --git a/wms/report_system/js/alpine.js b/wms/report_system/js/alpine.js index de95c8e9..2a947f7a 100644 --- a/wms/report_system/js/alpine.js +++ b/wms/report_system/js/alpine.js @@ -4,6 +4,12 @@ const signed_overdue_date_data = () => { this.$watch('data.department_id', () => { this.changeDepartment() }) + this.$watch('data.per', () => { + this.changeDetailsTable() + }) + this.$watch('data.now_page', () => { + this.changeDetailsTable() + }) }, data: { system_name_options: [{ text: '全部', @@ -21,6 +27,11 @@ const signed_overdue_date_data = () => { system_name: '', department_id: '', user_id: '', + now_page: now_page, + end_page: end_page, + per: 10, + search: search, + all_count: all_count, }, table_details: [], searchLoading: false, @@ -31,6 +42,17 @@ const signed_overdue_date_data = () => { form.append('system_name', this.data.system_name); form.append('department_id', this.data.department_id); form.append('user_id', this.data.user_id); + form.append('search', this.data.search); + form.append('method', 'getSingDetailsAllCount'); + axios.post('./api/getSingedDetails.php', form).then(res => { + this.data.all_count = res.data; + this.data.end_page = Math.ceil(this.data.all_count / this.data.per); + }).catch(error => { + console.log(error.response.data) + this.searchLoading = false + }) + + form.append('method', 'getSingDetails'); axios.post('./api/getSingedDetails.php', form).then(res => { this.data.signDetails = res.data; this.searchLoading = false; @@ -43,20 +65,61 @@ const signed_overdue_date_data = () => { this.data.deparetment_options = res.data }).catch(error => { console.log(error.response.data) - this.downloadLoading = false }) }, getUser() { axios.post('./api/getUser.php').then(res => { this.data.user_options = res.data }).catch(error => { console.log(error.response.data) - this.downloadLoading = false }) }, changeDepartment() { const form = new FormData(); form.append('department_id', this.data.department_id); axios.post('./api/getUser.php', form).then(res => { this.data.user_options = res.data + }).catch(error => { + console.log(error.response.data) + }) + }, changeDetailsTable() { + const form = new FormData(); + this.data.end_page = Math.ceil(this.data.all_count / this.data.per); + form.append('system_name', this.data.system_name); + form.append('department_id', this.data.department_id); + form.append('user_id', this.data.user_id); + form.append('now_page', this.data.now_page); + form.append('per', this.data.per); + form.append('search', this.data.search); + form.append('method', 'getSingDetails'); + axios.post('./api/getSingedDetails.php', form).then(res => { + this.data.signDetails = res.data; + }).catch(error => { + console.log(error.response.data) + }) + }, goEndPage() { + this.data.now_page = this.data.end_page + }, goFirstPage() { + this.data.now_page = 1 + }, goLastPage() { + if (this.data.now_page > 1) + this.data.now_page-- + }, goNextPage() { + this.data.now_page++ + }, download() { + this.downloadLoading = true + const form = new FormData(); + form.append('system_name', this.data.system_name); + form.append('department_id', this.data.department_id); + form.append('user_id', this.data.user_id); + form.append('search', this.data.search); + axios.post('./api/downloadExcel.php', form).then(res => { + var link = document.createElement('a'); + link.setAttribute('href', window.location.origin + "/wms/excel/signed_overdue_date.xlsx"); + link.setAttribute('download', '部門逾期待簽.xlsx'); + link.style.display = 'none'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + this.downloadLoading = false }).catch(error => { console.log(error.response.data) this.downloadLoading = false diff --git a/wms/report_system/signed_overdue_date.php b/wms/report_system/signed_overdue_date.php index 527f274a..760f6984 100644 --- a/wms/report_system/signed_overdue_date.php +++ b/wms/report_system/signed_overdue_date.php @@ -6,19 +6,25 @@ include("./api/getSingedDetails.php"); include("./api/getDepartment.php"); include("./api/getUser.php"); + + $sd = new signDetails(); $d = new Department(); $u = new User(); -$details_all_count = $sd->getSingDetailsAllCount(); $signDetails = $sd->getSingDetails(); $deparetment_options = $d->getDepartment(); $user_options = $u->getUser(null); +$now_page = $sd->getNowPage(); +$end_page = $sd->getEndPage(); +$all_count = $sd->getSingDetailsAllCount(); + + ?> "> - + @@ -83,26 +89,76 @@ $user_options = $u->getUser(null); - + + - + + + +
序號表單序號 系統名稱 流程名稱接受日期接收日期 當前簽核者 姓名 所屬部門 逾期天數

@@ -123,4 +179,8 @@ $user_options = $u->getUser(null); const signDetails = [...]; const deparetment_options = [...]; const user_options = [...]; - \ No newline at end of file + const now_page = ; + const end_page = ; + const all_count = ; + const search = ""; + \ No newline at end of file diff --git a/wms/sanlien/conn.php b/wms/sanlien/conn.php index 7c57c0e0..66e4e76e 100644 --- a/wms/sanlien/conn.php +++ b/wms/sanlien/conn.php @@ -13,35 +13,39 @@ if (file_exists($envFile)) { } } } -$db_hostname = getenv('DB_HOST'); //資料庫主機名稱 -$db_username = getenv('DB_USERNAME'); //登入資料庫的管理者的帳號 -$db_password = getenv('DB_PASSWORD'); //登入密碼 -$db_name = getenv('DB_DATABASE'); //使用的資料庫 -$db_charset = 'utf8'; //設定字元編碼 -//建立PDO的指定工作 -$dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; +// wms +$db_hostname = getenv('DB_HOST'); +$db_username = getenv('DB_USERNAME'); +$db_password = getenv('DB_PASSWORD'); +$db_name = getenv('DB_DATABASE'); +$db_charset = 'utf8'; + +// ekp bpm +$db_ekp_hostname = getenv('DB_BPM_HOST'); +$db_ekp_username = getenv('DB_BPM_USERNAME'); +$db_ekp_password = getenv('DB_BPM_PASSWORD'); +$db_ekp_name = getenv('DB_BPM_DATABASE'); +$db_ekp_charset = 'utf8'; + try { - //使用PDO連接到MySQL資料庫,建立PDO物件 - $conn = new PDO($dsn, $db_username, $db_password); - //當錯誤發生時會將錯誤資訊放到一個類物件裡(PDOException) - //PDO異常處理,PDO::ATTR_ERRMODE,有以下三種值的設定 - //PDO::ERRMODE_SILENT: 預設模式,不主動報錯,需要以$conn->errorInfo()的形式獲取錯誤資訊 - //PDO::ERRMODE_WARNING: 引發 E_WARNING 錯誤,主動報錯 - //PDO::ERRMODE_EXCEPTION: 主動抛出 exceptions 異常,需要以try{}cath(){}輸出錯誤資訊。 - //設定主動以警告的形式報錯 + $dsn = "mysql:host=$db_hostname;dbname=$db_name;charset=$db_charset"; + $conn = new PDO($dsn, $db_username, $db_password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $dsn_ekp = "mysql:host=$db_ekp_hostname;dbname=$db_ekp_name;charset=$db_ekp_charset"; + $connEkp = new PDO($dsn_ekp, $db_ekp_username, $db_ekp_password); + $connEkp->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + // $connT8 = new PDO("sqlsrv:Server=220.130.203.251;Database=T8TEST", "M0117", "IFFCUFM="); // if ($connT8) { // $connT8->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // } - //如果連接錯誤,將抛出一個PDOException異常對象 + } catch (PDOException $e) { - //如果連結資料庫失敗則顯示錯誤訊並停止本頁的工作 die("ERROR!!!: " . $e->getMessage()); } -//$conn = null; //關閉資料庫的連線 diff --git a/wms/wipwhole-index-function.php b/wms/wipwhole-index-function.php index f628d232..ff5afc12 100644 --- a/wms/wipwhole-index-function.php +++ b/wms/wipwhole-index-function.php @@ -180,6 +180,19 @@ function getDataSql($department_id, $role_id, $user_id) return $sql; } + // 補丁 蘇孝倫 權限全開 + if (in_array($user_id, ['M0176'])) { + $sql = " + SELECT * FROM wipwholestatus + WHERE 1=1 + AND status = '1' + AND contract_type = '$contract_type' + " . getWipwholeSearchSql() . " + ORDER BY real_contract_arrival_date ASC + "; + return $sql; + } + $sql_cmd = sql_myself($user_id, "salesid"); $sql = " SELECT * FROM wipwholestatus $sql_cmd @@ -969,7 +982,7 @@ function getYewuStatus($link, $user_department_id, $role_id) // 取得工務的欄位權限 function getWarehouseStatus($link, $user_department_id, $role_id, $status) { - if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545, 50, 501, 311, 313, 314, 521, 315, 912])) { + if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545, 50, 501, 311, 313, 314, 521, 315, 912,220])) { // if (getSaveEstimateInstallData($user_department_id, $role_id)) { if ($status == 1) { return checkNowFormGStatus($link) == 'G' ? "" : "disabled"; diff --git a/wms/wipwhole-renovate-index-function.php b/wms/wipwhole-renovate-index-function.php index fd7706f7..e7849513 100644 --- a/wms/wipwhole-renovate-index-function.php +++ b/wms/wipwhole-renovate-index-function.php @@ -438,6 +438,20 @@ function getDataSql($department_id, $role_id, $user_id) return $sql; } + // 補丁 蘇孝倫 權限全開 + if (in_array($user_id, ['M0176'])) { + $sql = " + SELECT * FROM wipwholestatus + WHERE 1=1 + AND status = '1' + AND contract_type = '$contract_type' + " . getWipwholeSearchSql() . " + ORDER BY real_contract_arrival_date ASC + "; + return $sql; + } + + if (in_array($department_id, $department_arr)) { // 北區營銷部 營銷專案經理 311 1 // 新梯營銷經理 311 3 diff --git a/wms/wipwhole-renovate-rec-invoice-edit-submit.php b/wms/wipwhole-renovate-rec-invoice-edit-submit.php index 939c203a..db317b85 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit-submit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit-submit.php @@ -204,267 +204,6 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { // 系統通知信及系統通知 include "wipwhole-renovate-rec-invoice-edit-notice-mail.php"; - // 指派工勘人員 - if ($warehouseid !== $old_warehouseid) { - if (checkNowFormStatus($link) == 'A') { - $sql = "SELECT form_key FROM flow - WHERE form_id = '$id' - AND flow_id = 'wws02' - AND flow_code = 'A' - "; - $result = mysqli_query($link, $sql); - $form_key = $result->fetch_row()[0]; - if (!empty($form_key)) { - $sql = "UPDATE wipwholestatus - SET warehouseid = '$warehouseid' - WHERE id = '$id'; - "; - mysqli_query($link, $sql); - $sql = "UPDATE subflow - SET current_assigner = '$warehouseid' - WHERE 1 = 1 - AND seq = '1' - AND form_key = '$form_key'; - "; - mysqli_query($link, $sql); - } - } - } - - if (!empty($official_check_date)) { - if ($official_check_date !== $old_official_check_date) { - $sql = " - SELECT accountid - FROM account - WHERE department_id = '250' - AND role_id IN ('1','2','3','4'); - "; - $result = mysqli_query($link, $sql); - foreach ($result as $row) { - $permission = $row["accountid"]; - $title = "客戶:$custom 作番:$facilityno 官檢日變更"; - $content = "客戶:$custom - 作番:$facilityno - 官檢日 $old_official_check_date => $official_check_date"; - $data = array( - 'kind' => 1, - 'related_id' => $id, - 'title' => $title, - 'content' => $content, - 'permission' => $permission, - 'creater' => $creater, - 'create_at' => date("Y-m-d H:i:s") - ); - $cn->sendx($data); - } - } - } - - // 工勘變更通知繪圖人員 - if ($site_survey_contact_verify !== $old_site_survey_contact_verify) { - $site_survey_status = array( - "1" => "請選擇", - "0" => "已確認", - "2" => "無工勘需求", - "A" => "未動工", - "B" => "地下室施工", - "C" => "打樁", - "D" => "地基", - "E" => "挖土", - "G" => "機房", - "H" => "機械式淨高", - "M" => "樓中樓", - "OH" => "最高層(頂樓高度)", - "P" => "PIT(機坑深度)", - "R" => "R 樓", - "S" => "停工", - "T" => "TOP", - "TC" => "頂部間隙", - "TS" => "行程", - "TH" => "全高", - "Y" => "已搭、已出", - "YB" => "退購結案", - "YF" => "既有建物", - "YN" => "已搭、未出" - ); - $sql = " - SELECT accountid - FROM account - WHERE department_id = '321' - AND role_id IN ('2','3','5'); - "; - $result = mysqli_query($link, $sql); - foreach ($result as $row) { - $permission = $row["accountid"]; - $title = "客戶:$custom 作番:$facilityno 工勘狀態更改"; - $content = "客戶:$custom -作番:$facilityno -工勘狀態 $site_survey_status[$old_site_survey_contact_verify] => $site_survey_status[$site_survey_contact_verify]"; - - $data = array( - 'kind' => 1, - 'related_id' => $id, - 'title' => $title, - 'content' => $content, - 'permission' => $permission, - 'creater' => $creater, - 'create_at' => date("Y-m-d H:i:s") - ); - $cn->sendx($data); - } - } - - if (!empty($desin_documents_verify_file)) { - $title = "合約號:$contract_no 作番號:$facilityno 設計上傳追加技術文件"; - $content = "合約號:$contract_no 作番號:$facilityno 設計上傳追加技術文件 - 前往下載 -"; - $data = array( - 'kind' => 1, - 'related_id' => $id, - 'title' => $title, - 'content' => $content, - 'permission' => "M0168", - 'creater' => $creater, - 'create_at' => date("Y-m-d H:i:s") - ); - $cn->sendx($data); - } - - - // 官檢日及移交日通知生管人員 - if (!empty($official_check_date)) { - if ($official_check_date !== $old_official_check_date) { - $permission = "M0168"; - $title = "官檢日變更 客戶:$custom 作番:$facilityno"; - $content = "客戶:$custom - 作番:$facilityno - 官檢日 $old_official_check_date => $official_check_date"; - $data = array( - 'kind' => 1, - 'related_id' => $id, - 'title' => $title, - 'content' => $content, - 'permission' => $permission, - 'creater' => $creater, - 'create_at' => date("Y-m-d H:i:s") - ); - $cn->sendx($data); - } - } - - if (!empty($delivery_date)) { - if ($delivery_date !== $old_delivery_date) { - $permission_arr = ['M0168', 'M0012']; - foreach ($permission_arr as $permission) { - // $permission = "M0168"; - $title = "移交日變更 客戶:$custom 作番:$facilityno"; - $content = "客戶:$custom - 作番:$facilityno - 移交日 $old_delivery_date => $delivery_date"; - $data = array( - 'kind' => 1, - 'related_id' => $id, - 'title' => $title, - 'content' => $content, - 'permission' => $permission, - 'creater' => $creater, - 'create_at' => date("Y-m-d H:i:s") - ); - $cn->sendx($data); - } - } - } - - if (!empty($delivery_date)) { - if ($old_delivery_date !== $delivery_date) { - - if (empty($change_all_contractno)) { - $mail_title = "作番大日程(汰改)合約號:" . $contractno . "-移交日變更通知"; - $mail_content = "作番大日程(汰改) - 合約號:" . $contractno - . " - 移交日:" . $old_delivery_date . " => " . $delivery_date; - } else { - $mail_title = "作番大日程(汰改)合約號:" . $contractno . "作番號:" . $facilityno . "-移交日變更通知"; - $mail_content = "作番大日程(汰改) - 合約號:" . $contractno - . " - 作番號:" . $facilityno - . " - 移交日:" . $old_delivery_date . " => " . $delivery_date; - } - - $cmail->sendx( - $mail_title, - $mail_content, - [ - [$salesname, $salesmail], - // ['gary', 'gary_chen@masada.com.tw'] - ], - "永佳捷科技" - ); - } - } - - // 當試車完工日更改時 發出通知 - if (!empty($tryrun_end_date) ) { - if ($tryrun_end_date !== $old_tryrun_end_date) { - $mail_title = "作番大日程(汰改)合約號:" . $contractno . "作番號:" . $facilityno . "客戶名稱:" . $custom . "-試車已完成通知"; - $mail_content = "作番大日程(汰改) - 合約號:" . $contractno . " - 作番號:" . $facilityno . " - 客戶名稱:" . $custom . " - 已完成試車, 請注意後續交車時間, 如需要官檢, 請提供如下資料 - -"; - - $cmail->sendx( - $mail_title, - $mail_content, - [ - [$salesname, $salesmail], - [ - accountid2name(manage_class_gary_ver($salesid))[manage_class_gary_ver($salesid)], - accountid2email(manage_class_gary_ver($salesid))[manage_class_gary_ver($salesid)] - ], - ['張崇傑', 'jaychang@masada.com.tw'], - ['賴定國', 'guo@masada.com.tw'] - // ['gary', 'gary_chen@masada.com.tw'] - ], - "永佳捷科技" - ); - } - } - - // 當移交日附件更改時 發出通知 - if (!empty($delivery_date_file) || !empty($delivery_date_file2)) { - if ($delivery_date_file !== $old_delivery_date_file || $delivery_date_file2 !== $old_delivery_date_file) { - $delivery_date_file_tmp = $delivery_date_file !== $old_delivery_date_file ? $delivery_date_file : $delivery_date_file2; - $mail_title = "作番大日程(汰改)合約號:" . $contractno . "-交車完成通知"; - $mail_content = "作番大日程(汰改) - 合約號:" . $contractno . " - 作番號:" . $facilityno . " - 客戶名稱:" . $custom . " - 已完成交車並已上傳交車單或竣工單, 請至OA系統中填寫移交日, 並準備後續請款事宜! -"; - $cmail->sendx( - $mail_title, - $mail_content, - [ - [$salesname, $salesmail], - [ - accountid2name(manage_class_gary_ver($salesid))[manage_class_gary_ver($salesid)], - accountid2email(manage_class_gary_ver($salesid))[manage_class_gary_ver($salesid)] - ], - ['葉俊麟', 'darren@masada.com.tw'], - ['蘇淑娥 ', 'supe1218@masada.com.tw'] - // ['gary', 'gary_chen@masada.com.tw'] - ], - "永佳捷科技" - ); - } - } echo "