|
|
@ -1,4 +1,5 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
/** |
|
|
|
* 提供首頁資料 |
|
|
|
* @url /frame/api_getdata.php |
|
|
@ -20,12 +21,13 @@ |
|
|
|
* |
|
|
|
*/ |
|
|
|
|
|
|
|
$json = array("st"=>"ok","err"=>"","errCode"=>""); |
|
|
|
$json = array("st" => "ok", "err" => "", "errCode" => ""); |
|
|
|
|
|
|
|
/** |
|
|
|
* 表單列表 |
|
|
|
*/ |
|
|
|
function get_forms() { |
|
|
|
function get_forms() |
|
|
|
{ |
|
|
|
global $link; |
|
|
|
|
|
|
|
$i = 1; |
|
|
@ -45,7 +47,8 @@ function get_forms() { |
|
|
|
/** |
|
|
|
* 公告欄列表 |
|
|
|
*/ |
|
|
|
function get_board() { |
|
|
|
function get_board() |
|
|
|
{ |
|
|
|
global $link; |
|
|
|
|
|
|
|
$i = 1; |
|
|
@ -70,14 +73,15 @@ function get_board() { |
|
|
|
/** |
|
|
|
* 系統通知列表 |
|
|
|
*/ |
|
|
|
function get_notice($token) { |
|
|
|
function get_notice($token) |
|
|
|
{ |
|
|
|
global $link; |
|
|
|
if (!$token) throw new \Exception("token empty", 802); |
|
|
|
list($user_id) = explode(".", $token); |
|
|
|
$i = 1; |
|
|
|
$data = []; |
|
|
|
$sql = "select id, kind, related_id, title from notice "; |
|
|
|
$sql .= "where (permission like '%".$user_id."%' or permission = 'ALL' or creater = '$user_id') "; |
|
|
|
$sql .= "where (permission like '%" . $user_id . "%' or permission = 'ALL' or creater = '$user_id') "; |
|
|
|
$sql .= "and haveread != '1' "; |
|
|
|
$sql .= "order by create_at desc limit 0, 6"; |
|
|
|
$res = mysqli_query($link, $sql); |
|
|
@ -95,24 +99,64 @@ function get_notice($token) { |
|
|
|
/** |
|
|
|
* 待我簽核 |
|
|
|
*/ |
|
|
|
function get_pending($token) { |
|
|
|
function get_pending($token) |
|
|
|
{ |
|
|
|
global $link; |
|
|
|
if (!$token) throw new \Exception("token empty", 802); |
|
|
|
list($user_id) = explode(".", $token); |
|
|
|
$i = 1; |
|
|
|
$data = []; |
|
|
|
$sql = " |
|
|
|
SELECT |
|
|
|
t.system_id, |
|
|
|
t.system_name, |
|
|
|
t.flow_id, |
|
|
|
t.flow_name, |
|
|
|
COUNT(*) |
|
|
|
FROM ( |
|
|
|
SELECT s.form_key, |
|
|
|
m.system_id, |
|
|
|
y.system_name, |
|
|
|
m.flow_id, |
|
|
|
m.flow_name, |
|
|
|
m.path |
|
|
|
FROM subflow s, |
|
|
|
flow f, |
|
|
|
flow_main m, |
|
|
|
system_main y |
|
|
|
WHERE EXISTS ( |
|
|
|
SELECT form_key, |
|
|
|
MAX(seq) |
|
|
|
FROM subflow |
|
|
|
GROUP BY form_key |
|
|
|
HAVING SUBSTRING(s.form_key, 1, 10) = form_key |
|
|
|
AND s.seq = max(seq) |
|
|
|
) |
|
|
|
AND SUBSTRING(s.form_key, 1, 10) = f.form_key |
|
|
|
AND f.flow_id = m.flow_id |
|
|
|
AND f.system_id = y.system_id |
|
|
|
AND s.current_assigner = '$user_id' |
|
|
|
AND f.flow_code != 'Z' |
|
|
|
) t |
|
|
|
GROUP BY t.system_id, |
|
|
|
t.flow_id, |
|
|
|
t.system_name, |
|
|
|
t.flow_name |
|
|
|
LIMIT 0, 6 |
|
|
|
"; |
|
|
|
|
|
|
|
// $sql = "select t.system_id, t.system_name, t.flow_id, t.flow_name, count(*) from ("; |
|
|
|
// $sql .= "select s.form_key, m.system_id, y.system_name, m.flow_id, m.flow_name, m.path from subflow s, flow f, flow_main m, system_main y "; |
|
|
|
// $sql .= "where "; |
|
|
|
// $sql .= "EXISTS ( |
|
|
|
// select form_key, max(seq) from subflow |
|
|
|
// group by form_key |
|
|
|
// having SUBSTRING(s.form_key,1,10) = form_key and s.seq = max(seq) |
|
|
|
// ) "; |
|
|
|
// $sql .= "and SUBSTRING(s.form_key,1,10) = f.form_key and f.flow_id = m.flow_id and f.system_id = y.system_id and s.current_assigner = '$user_id'"; |
|
|
|
// $sql .= ") t group by t.system_id, t.flow_id, t.system_name, t.flow_name "; |
|
|
|
// $sql .= "limit 0, 6"; |
|
|
|
|
|
|
|
$sql = "select t.system_id, t.system_name, t.flow_id, t.flow_name, count(*) from ("; |
|
|
|
$sql .= "select s.form_key, m.system_id, y.system_name, m.flow_id, m.flow_name, m.path from subflow s, flow f, flow_main m, system_main y "; |
|
|
|
$sql .= "where "; |
|
|
|
$sql .= "EXISTS ( |
|
|
|
select form_key, max(seq) from subflow |
|
|
|
group by form_key |
|
|
|
having SUBSTRING(s.form_key,1,10) = form_key and s.seq = max(seq) |
|
|
|
) "; |
|
|
|
$sql .= "and SUBSTRING(s.form_key,1,10) = f.form_key and f.flow_id = m.flow_id and f.system_id = y.system_id and s.current_assigner = '$user_id'"; |
|
|
|
$sql .= ") t group by t.system_id, t.flow_id, t.system_name, t.flow_name "; |
|
|
|
$sql .= "limit 0, 6"; |
|
|
|
$res = mysqli_query($link, $sql); |
|
|
|
while ($row = mysqli_fetch_row($res)) { |
|
|
|
$data[$i]["sid"] = $row[0]; |
|
|
@ -139,7 +183,7 @@ function get_pending($token) { |
|
|
|
return $data; |
|
|
|
} |
|
|
|
|
|
|
|
try{ |
|
|
|
try { |
|
|
|
if (empty($_REQUEST)) throw new \Exception("post empty", 801); |
|
|
|
if (empty($_REQUEST["p"])) throw new \Exception("post p empty", 801); |
|
|
|
|
|
|
@ -161,13 +205,10 @@ try{ |
|
|
|
default: |
|
|
|
echo "error"; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}catch(\Exception $ex){ |
|
|
|
$json["st"] = "err"; |
|
|
|
$json["err"] = $ex->getMessage(); |
|
|
|
$json["errCode"] = (!empty($ex->getCode()))?$ex->getCode():701; |
|
|
|
} catch (\Exception $ex) { |
|
|
|
$json["st"] = "err"; |
|
|
|
$json["err"] = $ex->getMessage(); |
|
|
|
$json["errCode"] = (!empty($ex->getCode())) ? $ex->getCode() : 701; |
|
|
|
} |
|
|
|
|
|
|
|
echo json_encode($json,JSON_UNESCAPED_UNICODE); |
|
|
|
?> |
|
|
|
echo json_encode($json, JSON_UNESCAPED_UNICODE); |
|
|
|