You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
4.2 KiB
131 lines
4.2 KiB
<?php
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
require_once('../conn.php');
|
|
header("Content-Type: application/json; charset=UTF-8");
|
|
$signDetails = new signDetails();
|
|
echo $signDetails->getSingDetails();
|
|
}
|
|
|
|
class signDetails
|
|
{
|
|
|
|
public function getSingDetails()
|
|
{
|
|
global $conn;
|
|
|
|
$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'] : '';
|
|
|
|
$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 ";
|
|
}
|
|
$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);
|
|
}
|
|
$stmt->execute();
|
|
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
return json_encode($data, JSON_UNESCAPED_UNICODE);
|
|
}
|
|
|
|
public function getSingDetailsAllCount()
|
|
{
|
|
global $conn;
|
|
$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,
|
|
-- d.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
|
|
";
|
|
$stmt = $conn->prepare($sql_str);
|
|
$stmt->execute();
|
|
return $stmt->rowCount();
|
|
}
|
|
}
|