|
|
@ -1,4 +1,5 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
/** |
|
|
|
* 提供首頁資料 |
|
|
|
* @url /frame/api_getdata.php |
|
|
@ -25,7 +26,8 @@ $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,7 +73,8 @@ 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); |
|
|
@ -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]; |
|
|
@ -161,8 +205,6 @@ try{ |
|
|
|
default: |
|
|
|
echo "error"; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} catch (\Exception $ex) { |
|
|
|
$json["st"] = "err"; |
|
|
|
$json["err"] = $ex->getMessage(); |
|
|
@ -170,4 +212,3 @@ try{ |
|
|
|
} |
|
|
|
|
|
|
|
echo json_encode($json, JSON_UNESCAPED_UNICODE); |
|
|
|
?> |