" '宜蘭','花蓮','台東' ", 'N' => " '臺北', '台北', '基隆', '新北' ", 'T' => " '桃園', '新竹' ", 'C' => " '南投', '臺中', '台中', '彰化', '雲林', '苗栗' ", 'K' => " '台南', '臺南', '嘉義', '屏東', '高雄' " ]; $contractno = empty($_REQUEST['contractno']) ? null : trim($_REQUEST['contractno']); $facilityno = empty($_REQUEST['facilityno']) ? null : trim($_REQUEST['facilityno']); $custom = empty($_REQUEST['custom']) ? null : trim($_REQUEST['custom']); $site_survey_contact_verify = !isset($_REQUEST['site_survey_contact_verify']) ? null : trim($_REQUEST['site_survey_contact_verify']); $real_arrival_date_start = empty($_REQUEST['real_arrival_date_start']) ? null : trim($_REQUEST['real_arrival_date_start']); $real_arrival_date_end = empty($_REQUEST['real_arrival_date_end']) ? null : trim($_REQUEST['real_arrival_date_end']); $area_no = empty($_REQUEST['area_no']) ? null : trim($_REQUEST['area_no']); $sql = ""; $sql .= empty($area_no) ? "" : " AND area_no = '$area_no' "; // $sql .= empty($area_no) ? "" : " AND SUBSTR(address,1,2) IN (" . $area[$area_no] . ") "; $sql .= empty($contractno) ? "" : " AND contractno LIKE '%$contractno%' "; $sql .= empty($facilityno) ? "" : " AND facilityno LIKE '%$facilityno%' "; $sql .= empty($custom) ? "" : " AND custom LIKE '%$custom%' "; $sql .= $site_survey_contact_verify == "" ? "" : " AND site_survey_contact_verify = '" . $site_survey_contact_verify . "' "; $sql .= empty($real_arrival_date_start) ? "" : " AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') >= '$real_arrival_date_start' "; $sql .= empty($real_arrival_date_end) ? "" : " AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') <= '$real_arrival_date_end' "; return $sql; } function getDepartmentId($link, $user_id) { $sql = " SELECT department_id FROM account WHERE accountid = '$user_id' "; $res = mysqli_query($link, $sql); $row = mysqli_fetch_row($res); mysqli_free_result($res); return $row[0]; } function getRoleId($link, $user_id) { $sql = " SELECT role_id FROM account WHERE accountid = '$user_id' "; $res = mysqli_query($link, $sql); $row = mysqli_fetch_row($res); mysqli_free_result($res); return $row[0]; } function getEditFlag($department_id, $role_id, $user_id) { // 業務部門 if ($department_id == "321") return 8; // 鍾哥(生管) 部門代碼:250 職位大小:1 4 if ($department_id == "250" && (in_array($role_id, ["1", "4"]))) return 8; // 許協理 部門代碼:320 職位大小:1 if ($department_id == "320" && $role_id == "1") return 8; // 詹總 部門代碼:50 職位大小:1 if ($department_id == "50" && $role_id == "1") return 8; // 許總 部門代碼:20 職位大小:1 if ($department_id == "20" && $role_id == "1") return 8; // 安裝開發支援部 if ($department_id == "542") return 4; // 設計 if ($department_id == "911") return 4; // 品証 if ($department_id == "912") return 4; // 宜蘭工務 if ($user_id == 'M0087') return 4; // 北區工務組長 if ($user_id == 'M0040' || $user_id == 'M0176') return 4; // 中區工務組長 if ($user_id == 'M0113' || $user_id == 'M0158') return 4; // 南區工務組長 if ($user_id == 'M0039' || $user_id == 'M0078') return 4; // 工務處 工務助理 if ($department_id == '50' && $role_id == '2') return 4; // 服務支援部 工務助理 if ($department_id == '501' && $role_id == '2') return 4; // 北區營銷部 工務助理 if ($department_id == '311' && $role_id == '4') return 4; // 中區營銷部 工務助理 if ($department_id == '313' && $role_id == '3') return 4; // 南區營銷部 工務助理 if ($department_id == '314' && $role_id == '4') return 4; // 宜花東營銷部 工務助理 if ($department_id == '315' && $role_id == '2') return 4; // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') return 4; // 宜花東營銷部 工務助理 if ($department_id == '315' && $role_id == '2') return 4; // 工務部門 if (in_array($department_id, [521, 531, 541, 542, 543, 544, 545])) return 4; // 財會部門 if ($department_id == '210') return 4; $sql_cmd = sql_myself($user_id, "salesid"); // 營業員主管或營業員 if (!empty($sql_cmd)) return 1; return 15; } function getDataSql($department_id, $role_id, $user_id) { // 合約類型 $contract_type = 'B'; // 營業員主管或營業員 $department_arr = [ '310', '311', '312', '313', '314', '315', '320', '501', '50', '511', '512', '513', '514', '515', '521', '541', '542', '543', '544', '545' ]; // 工務助理專員 // 工務處 工務助理 if ($department_id == '50' && $role_id == '2') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date DESC "; return $sql; } // 服務支援部 工務助理 if ($department_id == '501' && $role_id == '2') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date DESC "; return $sql; } // 北區營銷部 工務助理 if ($department_id == '311' && $role_id == '4') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no IN ('N','T') -- AND SUBSTR(address,1,2) in ('臺北','台北','基隆','新北','桃園','新竹') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 中區營銷部 工務助理 if ($department_id == '313' && $role_id == '3') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'C' -- AND SUBSTR(address,1,2) in ('南投','臺中','台中','彰化','雲林','苗栗') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 南區營銷部 工務助理 if ($department_id == '314' && $role_id == '4') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'K' -- AND SUBSTR(address,1,2) in ('台南','臺南','嘉義','屏東','高雄') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 宜花東營銷部 工務助理 if ($department_id == '315' && $role_id == '2') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'Y' -- AND SUBSTR(address,1,2) in ('宜蘭','花蓮','台東','臺東') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date DESC "; return $sql; } // 宜花東營銷部 工務助理 if ($department_id == '315' && $role_id == '2') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'Y' -- AND SUBSTR(address,1,2) in ('宜蘭','花蓮','台東') ORDER BY real_contract_arrival_date DESC "; return $sql; } if (in_array($department_id, $department_arr)) { // 北區營銷部 營銷專案經理 311 1 // 新梯營銷經理 311 3 // 桃竹營銷部 銷售專案經理 312 1 // 中區營銷部 新梯營銷經理 313 1 // 南區營銷部 銷售專案經理 314 2 // 花東區營銷部 銷售專案經理 315 2 if ($department_id == '311' && (in_array($role_id, ['1', '3']))) { $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 ($department_id == '312' && (in_array($role_id, ['1']))) { $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 ($department_id == '313' && (in_array($role_id, ['1']))) { $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 ($department_id == '314' && (in_array($role_id, ['2']))) { $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 ($department_id == '315' && (in_array($role_id, ['1']))) { $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 "; $sql .= empty($sql_cmd) ? " WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " : "AND status = '1' AND contract_type = '$contract_type'"; $sql .= getWipwholeSearchSql(); $sql .= "ORDER BY real_contract_arrival_date DESC "; } // 鍾哥 部門代碼:250 職位大小:1 4 // 許協理 部門代碼:320 職位大小:1 // 張主任 部門代碼:322 職位大小:1 // 詹總 部門代碼:50 職位大小:1 // 許總 部門代碼:20 職位大小:1 // 業務部門 部門代碼:321 // 服務支援部門 部門代碼:501 // 財會部門 部門代碼:210 // 品証部門 部門代碼:912 $department_arr = ['911', '250', '320', '50', '20', '321', '322', '220', '501', '210', '912']; if (in_array($department_id, $department_arr)) { $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 ($user_id == 'M0087') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'Y' -- AND SUBSTR(address,1,2) in ('宜蘭') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 北區工務組長 if ($user_id == 'M0041' || $user_id == 'M0176') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no IN ('N','T') -- AND SUBSTR(address,1,2) in ('臺北','台北','基隆','新北','桃園','新竹') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 中區工務組長 if ($user_id == 'M0113' || $user_id == 'M0158') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'C' -- AND SUBSTR(address,1,2) in ('南投','臺中','台中','彰化','雲林','苗栗') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 南區工務組長 if ($user_id == 'M0039' || $user_id == 'M0078') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'K' -- AND SUBSTR(address,1,2) in ('台南','臺南','嘉義','屏東','高雄') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 工務 if (in_array($department_id, [521, 531, 541, 542, 543, 544, 545])) { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date DESC "; return $sql; } return $sql; } function getDataSqlByFlowCode($department_id, $role_id, $user_id, $flow_code) { $flow_code_tmp = explode(',', $flow_code); $flow_code = implode("','", $flow_code_tmp); // 合約類型 $contract_type = 'A'; // 營業員主管或營業員 $department_arr = ['310', '311', '312', '313', '314', '315']; if (in_array($department_id, $department_arr)) { $sql_cmd = sql_myself($user_id, "salesid"); $sql = " SELECT * FROM wipwholestatus $sql_cmd "; $sql .= empty($sql_cmd) ? " WHERE 1=1 AND contract_type = '$contract_type' " : " AND contract_type = '$contract_type'"; $sql .= " AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) "; $sql .= getWipwholeSearchSql(); $sql .= "ORDER BY real_contract_arrival_date DESC "; } // 鍾哥 部門代碼:250 職位大小:1 4 // 許協理 部門代碼:320 職位大小:1 // 張主任 部門代碼:322 職位大小:1 // 詹總 部門代碼:50 職位大小:1 // 許總 部門代碼:20 職位大小:1 // 業務部門 部門代碼:321 // 服務支援部 部門代碼:501 // 財會部門 部門代碼:210 // 品証部門 部門代碼:912 $department_arr = ['911', '250', '320', '50', '20', '321', '220', '322', '501', '210', '912']; if (in_array($department_id, $department_arr)) { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND contract_type = '$contract_type' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date ASC "; return $sql; } // (宜蘭)工務組長 if ($user_id == 'M0087') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND SUBSTR(address,1,2) in ('宜蘭') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 北區工務組長 if ($user_id == 'M0041' || $user_id == 'M0176') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no IN ('N','T') -- AND SUBSTR(address,1,2) in ('臺北','台北','基隆','新北','桃園','新竹') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 中區工務組長 if ($user_id == 'M0113' || $user_id == 'M0158') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'C' -- AND SUBSTR(address,1,2) in ('南投','臺中','台中','彰化','雲林','苗栗') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 南區工務組長 if ($user_id == 'M0039' || $user_id == 'M0078') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " AND area_no = 'K' -- AND SUBSTR(address,1,2) in ('台南','臺南','嘉義','屏東','高雄') ORDER BY real_contract_arrival_date DESC "; return $sql; } // 工務 if ($department_id == '521' || $department_id == '531') { $sql = " SELECT * FROM wipwholestatus WHERE 1=1 AND status = '1' AND id IN ( SELECT form_id AS id FROM flow WHERE system_id = 'wws' AND flow_id = 'wws01' AND flow_code IN ('$flow_code') ) AND contract_type = '$contract_type' " . getWipwholeSearchSql() . " ORDER BY real_contract_arrival_date DESC "; return $sql; } return $sql; } // 取得本次簽核的表單id值 function getId($link, $form_key) { $sql = " SELECT form_id AS id FROM flow WHERE form_key = '$form_key' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row['id']; } // 取得本次簽核的表單form_key值 (營業與設計流程) function getYDForm_key($link, $form_id) { $sql = " SELECT f.form_key FROM flow AS f LEFT JOIN subflow AS s ON f.form_key = s.form_key WHERE 1=1 AND f.form_id = '$form_id' AND f.flow_code IN ('A','B','C','D') AND f.system_id = 'wws' AND f.flow_id = 'wws01' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return empty($row['form_key']) ? 0 : $row['form_key']; } // 取得本次簽核的表單form_key值 (工務流程)) function getGForm_key($link, $form_id) { $sql = " SELECT f.form_key FROM flow AS f LEFT JOIN subflow AS s ON f.form_key = s.form_key WHERE 1=1 AND f.form_id = '$form_id' AND f.flow_code IN ('G','H') AND f.system_id = 'wws' AND f.flow_id = 'wws01' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return empty($row['form_key']) ? 0 : $row['form_key']; } // 修正時間欄位 function fixTime($time) { return empty($time) ? '0000T00:00:00' : date('Y-m-d', strtotime($time)) . "T" . date('H:i:s', strtotime($time)); } // 修正時間欄位 若是空值則帶入現在時間戳記 function fixTimeToNow($time) { return empty($time) ? date("Y-m-d") . "T" . date("H:i:s") : date('Y-m-d', strtotime($time)) . "T" . date('H:i:s', strtotime($time)); } // 檢查營業階段 function checkYingYeok($link, $id) { $sql = " SELECT SUM( CAST(IF(sales_spec_verify != '2',sales_spec_verify,'0') AS SIGNED) + CAST(IF(customer_planning_verify != '2',customer_planning_verify,'0') AS SIGNED) + CAST(IF(customer_color_verify != '2',customer_color_verify,'0') AS SIGNED) + CAST(IF(customer_style_verify != '2',customer_style_verify,'0') AS SIGNED) + CAST(IF(site_survey_contact_form_verify != '2',site_survey_contact_form_verify,'0') AS SIGNED) ) AS sum_num FROM wipwholestatus WHERE 1=1 AND status = '1' AND id = '$id' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 檢查設計階段 function checkSheJiok($link, $id) { $sql = " SELECT SUM( CAST(IF(desin_spec_verify != '2' ,desin_spec_verify,'0') AS SIGNED) + CAST(IF(desin_planning_verify != '2' ,desin_planning_verify,'0') AS SIGNED) + CAST(IF(desin_color_verify != '2' ,desin_color_verify,'0') AS SIGNED) + CAST(IF(desin_style_verify != '2' ,desin_style_verify,'0') AS SIGNED) ) AS sum_num FROM wipwholestatus WHERE 1=1 AND status = '1' AND id = '$id' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 檢查設計主管階段 function checkSheJiokLeader($link, $id) { $sql = " SELECT SUM( CAST(IF(desin_leader_verify != '2',desin_leader_verify,'0') AS SIGNED) ) AS sum_num FROM wipwholestatus WHERE 1=1 AND status = '1' AND id = '$id' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 檢查工務階段 function checkGongWuok($link, $id) { $sql = " SELECT SUM( CAST(IF(building_heigh_verify != '2',building_heigh_verify,'0') AS SIGNED) ) AS sum_num FROM wipwholestatus WHERE 1=1 AND status = '1' AND id = '$id' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 檢查生管階段 function checkShengGuanok($link, $id) { $sql = " SELECT SUM( CAST(IF(shengguanok_status != '2',shengguanok_status,'0') AS SIGNED)+ CAST(IF(prattford_order_date_verify != '2' ,prattford_order_date_verify,'0') AS SIGNED) + CAST(IF(estimated_shipping_date_verify != '2' ,estimated_shipping_date_verify,'0') AS SIGNED) + CAST(IF(estimated_shipping_schedule_date_verify != '2' ,estimated_shipping_schedule_date_verify,'0') AS SIGNED) + CAST(IF(goods_type = 'A' || goods_type = 'C' ,'0','1') AS SIGNED) + CAST(IF(taiwan_goods_type = 'A' || taiwan_goods_type = 'C' ,'0','1') AS SIGNED) + CAST(IF(arrival_date_verify = 'A' ,'0','1') AS SIGNED) ) AS sum_num FROM wipwholestatus WHERE 1=1 AND status = '1' AND id = '$id' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 取得設計部主管編號 function getSheJiokLeaderNo($link) { $sql = " SELECT accountid FROM `account` WHERE `department_id` = '911' AND `role_id` = '1'; "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 取得工務部主管編號 function getGongWuokNo($link) { if (isset($_GET['id']) || isset($_GET['form_key'])) $id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']); $sql = " SELECT DISTINCT SUBSTR(address,1,2) FROM `wipwholestatus` WHERE id = '$id' AND status = '1' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); // 宜蘭=高培軒(M0087) 北=張潘榮(M0041) 中=林瑋隆(M0113) 南=韋宗榮(M0039)改鄭存邑(M0102) $arr = array( "宜蘭" => "M0087", "北" => "M0041", "台北" => "M0041", "基隆" => "M0041", "新北" => "M0041", "新竹" => "M0041", "桃園" => "M0041", "苗栗" => "M0113", "中" => "M0113", "南投" => "M0113", "台中" => "M0113", "彰化" => "M0113", "雲林" => "M0113", "南" => "M0102", "台南" => "M0102", "嘉義" => "M0102", "屏東" => "M0102", "高雄" => "M0102" ); return empty($arr[$row[0]]) ? "" : $arr[$row[0]]; } // 取得生管部主管編號 function getShengGuanokLeaderNo($link) { $sql = " SELECT accountid FROM `account` WHERE `department_id` = '321' AND `role_id` = '1'; "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return $row[0]; } // 確認目前狀態 (營業設計) function checkNowFormYDStatus($link) { if (isset($_GET['id']) || isset($_GET['form_key'])) { $id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']); } $sql = " SELECT flow_code FROM flow WHERE form_id = '$id' AND flow_code IN ('A','B','C','D') AND system_id = 'wws' AND flow_id = 'wws01' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return empty($row['0']) ? 'Z' : $row['0']; } // 確認目前狀態 (工務) function checkNowFormGStatus($link) { if (isset($_GET['id']) || isset($_GET['form_key'])) { $id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']); } $sql = " SELECT flow_code FROM flow WHERE form_id = '$id' AND flow_code IN ('G','H') AND system_id = 'wws' AND flow_id = 'wws01' "; $result = mysqli_query($link, $sql); $row = mysqli_fetch_array($result); return empty($row['0']) ? 'Z' : $row['0']; } // 取得資訊的欄位權限 function getInformationStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; return "disabled"; } // 取得業務的欄位權限 function getYewuStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; if ($user_department_id == 321) return ""; return "disabled"; } // 取得工務的欄位權限 function getWarehouseStatus($link, $user_department_id, $role_id) { // 工務處 工務助理 if ($user_department_id == '50' && $role_id == '2') return ""; // 服務支援部 工務助理 if ($user_department_id == '501' && $role_id == '2') return ""; // 北區營銷部 工務助理 if ($user_department_id == '311' && $role_id == '4') return ""; // 中區營銷部 工務助理 if ($user_department_id == '313' && $role_id == '3') return ""; // 南區營銷部 工務助理 if ($user_department_id == '314' && $role_id == '4') return ""; // 宜花東營銷部 工務助理 if ($user_department_id == '315' && $role_id == '2') return ""; // 安裝開發支援部 工務助理 if ($user_department_id == '521' && $role_id == '11') return ""; // 宜花東營銷部 工務助理 if ($user_department_id == '315' && $role_id == '2') return ""; if (in_array($user_department_id, [220])) return ""; if ($user_department_id == 220) return ""; if ($user_department_id == 521 || $user_department_id == 531) return checkNowFormGStatus($link) == 'G' ? "" : "disabled"; return "disabled"; } // 取得營業或契約的欄位權限 function getMarketingStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; if (in_array($user_department_id, [311, 312, 313, 314, 315])) return checkNowFormYDStatus($link) == 'A' ? "" : "disabled"; if (in_array($user_department_id, [501, 511, 512, 513, 514, 515])) return checkNowFormYDStatus($link) == 'A' ? "" : "disabled"; return "disabled"; } // 取得設計的欄位權限 function getDesinStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; if ($user_department_id == 911) return checkNowFormYDStatus($link) == 'B' ? "" : "disabled"; return "disabled"; } // 取得設計主管的欄位權限 function getDesinLeaderStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; if ($user_department_id == 911) return checkNowFormYDStatus($link) == 'C' && $role_id == 1 ? "" : "disabled"; return "disabled"; } // 取得生管的欄位權限 function getShengguanStatus($link, $user_department_id, $role_id) { if ($user_department_id == 220) return ""; if ($user_department_id == 250 && (in_array($role_id, [1, 4]))) return ""; return "disabled"; } // 取得下方table分頁的預設分頁 function getTabNo($user_department_id) { if (in_array($user_department_id, [220, 311, 312, 313, 314, 315])) return 0; if ($user_department_id == 911) return 1; if ($user_department_id == 521 || $user_department_id == 531) return 2; if ($user_department_id == 321 || $user_department_id == 250) return 3; return 0; } // 由地址取得工務負責人 function getGunwuName($address) { $north_arr = array('台北', '基隆', '新北', '桃園', '新竹'); $north_arr2 = array('宜蘭'); $center_arr = array('南投', '彰化', '雲林', '台中', '苗栗'); $south_arr = array('台南', '嘉義', '屏東', '高雄', '台東'); foreach ($north_arr as $key => $value) if (mb_strpos($address, $value, 0, "UTF-8") !== false) return "吳宗紘"; foreach ($north_arr2 as $key => $value) if (mb_strpos($address, $value, 0, "UTF-8") !== false) return "高培軒"; foreach ($center_arr as $key => $value) if (mb_strpos($address, $value, 0, "UTF-8") !== false) return "劉子睿"; foreach ($south_arr as $key => $value) if (mb_strpos($address, $value, 0, "UTF-8") !== false) return "鄭存邑"; return ""; } function getOpendoorOptions($link) { $sql = " SELECT code_name AS val , content AS label FROM code WHERE field_name='open_kind' ORDER BY label ASC "; return mysqli_query($link, $sql); } function getYingyeokOptions($link) { $sql = " SELECT accountid AS val , name AS label FROM `account` WHERE `department_id` IN ('311','312','313','314','315') ORDER BY accountid ASC "; return mysqli_query($link, $sql); } function getShejiokOptions($link) { $sql = " SELECT accountid AS val , name AS label FROM `account` WHERE `department_id` IN ('911') AND `role_id` NOT IN ('1') ORDER BY accountid ASC "; return mysqli_query($link, $sql); } function getShejiokLeaderOptions($link) { $sql = " SELECT accountid AS val , name AS label FROM `account` WHERE `department_id` IN ('911') AND `role_id` IN ('1') ORDER BY accountid ASC "; return mysqli_query($link, $sql); } function getGongwuokOptions($link) { $sql = " SELECT accountid AS val , name AS label FROM `account` WHERE `department_id` IN ('521','531') ORDER BY accountid ASC "; return mysqli_query($link, $sql); } function getShengguanokOptions($link) { $sql = " SELECT accountid AS val , name AS label FROM `account` WHERE `department_id` IN ('321') "; return mysqli_query($link, $sql); } function warningMessage($data) { $waringMessageArr = array( '1' => '', '2' => '沒有預計出貨日(到工地)', '3' => '有實際完工日,實際開工日未填寫', '4' => '有實際完工日,未填寫QC日', '5' => '有實際完工日,移交日未填寫', '6' => '官檢日未填寫', '7' => '官檢日不在移交日的60天內', '8' => '移交日不是實際完工日+14天', ); if (getWarningMessageStatus($data) !== 1) return $waringMessageArr[getWarningMessageStatus($data)]; return ""; } function getWarningMessageStatus($data) { $real_contract_arrival_date = $data['real_contract_arrival_date']; $install_start_date = $data['install_start_date']; $install_end_date = $data['install_end_date']; $tryrun_start_date = $data['tryrun_start_date']; $tryrun_end_date = $data['tryrun_end_date']; $tryrun_end_date_owner = $data['tryrun_end_date_owner']; $estimate_install_start_date = $data['estimate_install_start_date']; $estimate_install_end_date = $data['estimate_install_end_date']; $estimate_tryrun_start_date = $data['estimate_tryrun_start_date']; $estimate_tryrun_end_date = $data['estimate_tryrun_end_date']; $official_check_date = $data['official_check_date']; $delivery_date = $data['delivery_date']; $qc_date = $data['qc_date']; $end_qc_date = $data['end_qc_date']; // 有任何開工/完工日期,卻沒有預計出貨日(到工地) if (empty($real_contract_arrival_date)) { $tmp_arr = [ 'install_start_date', 'install_end_date', 'tryrun_start_date', 'tryrun_end_date', 'tryrun_end_date_owner', 'estimate_install_start_date', 'estimate_install_end_date', 'estimate_tryrun_start_date', 'estimate_tryrun_end_date' ]; foreach ($tmp_arr as $row) { if (!empty($data[$row])) { return "2"; } } } // 有實際完工日,要有實際開工日 if (!empty($install_end_date)) { if (empty($install_start_date)) return "3"; } if (!empty($tryrun_end_date)) { if (empty($tryrun_start_date)) return "3"; } // 有實際完工日,要有QC日 if (!empty($install_end_date) || !empty($tryrun_end_date)) { if (empty($qc_date) && empty($end_qc_date)) return "4"; } // 有實際完工日,移交日未填寫 if (!empty($install_end_date) || !empty($tryrun_end_date)) { if (empty($delivery_date)) { return "5"; } } // 有移交日,官檢日未填寫 if (!empty($delivery_date)) { if (empty($official_check_date)) return "6"; } // 有移交日,官檢日若不是移交日+60日 // if (!empty($delivery_date) && !empty($official_check_date)) { // $date = floor((strtotime($official_check_date) - strtotime($delivery_date)) / 86400); // if ($date <= 0 || $date > 60) // return "7"; // } // 有實際完工日,移交日若不是實際完工日+14天 // if (!empty($install_end_date) || !empty($tryrun_end_date)) { // $date = floor((strtotime($install_end_date) - strtotime($delivery_date)) / 86400); // if ($date <= 0 || $date > 14) // return "5"; // } return "1"; }