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(); } }