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.
 
 
 
 
 
 

1350 lines
42 KiB

<?php
/**
* 取得生管主管 options
* @param object $link:資料庫連線
* @param string $id:作番大日程唯一值
* @return object 回傳 mysqli_query
*/
function getWipwholestatusDetail($link, $id)
{
$db_query = "
SELECT * FROM wipwholestatus
WHERE id = '$id'
AND status = '1'
";
$receivabledata = mysqli_query($link, $db_query);
return mysqli_fetch_array($receivabledata, MYSQLI_ASSOC);
}
function getWipwholestatusData($link, $id)
{
$db_query = "
SELECT * FROM wipwholestatus
WHERE id='$id'
AND status = '1'
";
$receivabledata = mysqli_query($link, $db_query);
return mysqli_fetch_array($receivabledata, MYSQLI_ASSOC);
}
function getWipwholeSearchSql()
{
$area = [
'Y' => " '宜蘭','花蓮','台東' ",
'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_contract_arrival_date_start = empty($_REQUEST['real_contract_arrival_date_start']) ? null : trim($_REQUEST['real_contract_arrival_date_start']);
$real_contract_arrival_date_end = empty($_REQUEST['real_contract_arrival_date_end']) ? null : trim($_REQUEST['real_contract_arrival_date_end']);
$area_no = empty($_REQUEST['area_no']) ? null : trim($_REQUEST['area_no']);
$sql = "";
$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 .= empty($site_survey_contact_verify) ? "" : " AND site_survey_contact_verify = '" . $site_survey_contact_verify . "' ";
$sql .= empty($real_contract_arrival_date_start) ? "" : " AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') >= '$real_contract_arrival_date_start' ";
$sql .= empty($real_contract_arrival_date_end) ? "" : " AND DATE_FORMAT(real_contract_arrival_date, '%Y-%m-%d') <= '$real_contract_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")
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 == "911")
return 2;
// 宜蘭工務
if ($user_id == 'M0087')
return 4;
// 北區工務組長
if ($user_id == 'M0041' || $user_id == 'M0176')
return 4;
// 中區工務組長
if ($user_id == 'M0113' || $user_id == 'M0158')
return 4;
// 南區工務組長
if ($user_id == 'M0078')
return 4;
if ($user_id == 'M0188') {
return 4;
}
// 工務部門
if (in_array($department_id, [521, 531, 541, 542, 543, 544, 545]))
return 4;
// 品証部門
if ($department_id == '912')
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 = 'A';
// 營業員主管或營業員
$department_arr = [
'310', '311', '312', '313', '314', '315',
'511', '512', '513', '514'
];
// 補丁 黃孟澤 & 葉博澄 權限 = 李烘銘
if (in_array($user_id, ['M0166', 'M0091'])) {
$user_id = 'M0086';
}
// 補丁 許馨文 權限 = 李烘銘
if (in_array($user_id, ['M0115'])) {
$user_id = 'M0086';
}
// 補丁 孫仲凱 = 林瑋隆
if (in_array($user_id, ['M0159'])) {
$user_id = 'M0113';
}
// 補丁 林修賢 = 鄭存邑
if (in_array($user_id, ['M0188'])) {
$user_id = 'M0102';
$department_id = '545';
$role_id = '6';
}
// 補丁 林靜雯 權限 = 劉永德 新梯 北區+桃竹
if (in_array($user_id, ['M0189'])) {
$user_id = 'M0137';
}
$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 ";
if (in_array($department_id, $department_arr)) {
// 北區營銷部 營銷專案經理 311 1
// 新梯營銷經理 311 3
// 桃竹營銷部 銷售專案經理 312 1
// 桃竹契約部 經理 512 3
// 中區營銷部 新梯營銷經理 313 1
// 南區營銷部 銷售專案經理 314 2
// 花東區營銷部 銷售專案經理 315 1
if ($department_id == '512' && (in_array($role_id, ['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 == '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, ['1', '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;
}
}
// 鍾哥 部門代碼: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 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 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 SUBSTR(address,1,2) in ('南投','臺中','台中','彰化','雲林','苗栗')
ORDER BY real_contract_arrival_date DESC
";
return $sql;
}
// 南區工務組長
if ($user_id == 'M0078') {
$sql = "
SELECT * FROM wipwholestatus
WHERE 1=1
AND status = '1'
AND contract_type = '$contract_type'
" . getWipwholeSearchSql() . "
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)
{
// 補丁 黃孟澤 & 葉博澄 權限 = 李烘銘
if (in_array($user_id, ['M0166', 'M0091'])) {
$user_id = 'M0086';
}
// 補丁 許馨文 權限 = 李烘銘
if (in_array($user_id, ['M0115'])) {
$user_id = 'M0086';
}
// 補丁 孫仲凱 = 林瑋隆
if (in_array($user_id, ['M0159'])) {
$user_id = 'M0113';
}
// 補丁 林靜雯 權限 = 劉永德 新梯 北區+桃竹
if (in_array($user_id, ['M0189'])) {
$user_id = 'M0137';
}
// 補丁 林修賢 = 鄭存邑
if (in_array($user_id, ['M0188'])) {
$user_id = 'M0102';
$department_id = '545';
$role_id = '6';
}
$flow_code_tmp = explode(',', $flow_code);
$flow_code = implode("','", $flow_code_tmp);
// 合約類型
$contract_type = 'A';
// 營業員主管或營業員
$department_arr = ['310', '311', '312', '313', '314', '315', '512'];
if (in_array($department_id, $department_arr)) {
// 北區營銷部 營銷專案經理 311 1
// 新梯營銷經理 311 3
// 桃竹營銷部 銷售專案經理 312 1
// 桃竹契約部 經理 512 3
// 中區營銷部 新梯營銷經理 313 1
// 南區營銷部 銷售專案經理 314 2
// 花東區營銷部 銷售專案經理 315 1
if ($department_id == '512' && (in_array($role_id, ['3']))) {
$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 ($department_id == '311' && (in_array($role_id, ['1', '3']))) {
$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 ($department_id == '312' && (in_array($role_id, ['1']))) {
$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 ($department_id == '313' && (in_array($role_id, ['1']))) {
$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 ($department_id == '314' && (in_array($role_id, ['2']))) {
$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 ($department_id == '315' && (in_array($role_id, ['1']))) {
$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;
}
$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 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 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 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 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','I')
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)
{
return "M0079";
$sql = "
SELECT accountid
FROM `account`
WHERE `department_id` = '250'
AND `role_id` = '4';
";
$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','I')
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, $status)
{
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545, 50, 501, 311, 313, 314, 521, 315, 912])) {
// if (getSaveEstimateInstallData($user_department_id, $role_id)) {
if ($status == 1) {
return checkNowFormGStatus($link) == 'G' ? "" : "disabled";
} else {
return "";
}
}
return "disabled";
}
// 取得營業或契約的欄位權限
function getMarketingStatus($link, $user_department_id, $role_id, $status)
{
if ($user_department_id == 220)
return "";
if ($user_department_id == 311 || $user_department_id == 312 || $user_department_id == 313 || $user_department_id == 314 || $user_department_id == 315) {
if ($status == 1) {
return checkNowFormStatus($link) == 'A' ? "" : "disabled";
} else {
return "";
}
}
if ($user_department_id == 501 || $user_department_id == 511 || $user_department_id == 512 || $user_department_id == 513 || $user_department_id == 514) {
if ($status == 1) {
return checkNowFormStatus($link) == 'A' ? "" : "disabled";
} else {
return "";
}
}
return "disabled";
}
// 確認目前狀態
function checkNowFormStatus($link)
{
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_key = getForm_key($link, $id);
}
$sql = "
SELECT
flow_code
FROM flow
WHERE form_id = '$id'
AND form_key = '$form_key'
AND system_id = 'wws'
AND flow_id = 'wws01'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result);
return $row['0'];
}
// 取得本次簽核的表單form_key值
function getForm_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','E','I')
AND f.system_id = 'wws'
AND f.flow_id = 'wws01'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result);
return $row['form_key'];
}
// 取得設計的欄位權限
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, $status)
{
if ($user_department_id == 220)
return "";
if ($status == '1') {
if ($user_department_id == 250 && in_array($role_id, [1, 4]))
return "";
} else {
if ($user_department_id == 250)
return "";
}
return "disabled";
}
// 取得品證部的欄位權限
function getPinzhengStatus($link, $user_department_id, $role_id)
{
if ($user_department_id == 220)
return "";
if ($user_department_id == 912)
return "";
return "disabled";
}
// 取得下方table分頁的預設分頁
function getTabNo($user_department_id)
{
if ($user_department_id == 220)
return 0;
if ($user_department_id == 311 || $user_department_id == 312 || $user_department_id == 313 || $user_department_id == 314 || $user_department_id == 315)
return 1;
if ($user_department_id == 911)
return 2;
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545]))
return 0;
if ($user_department_id == 321 || $user_department_id == 250)
return 3;
if ($user_department_id == 912)
return 4;
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','501','541','542','543','544','545')
ORDER BY accountid ASC
";
return mysqli_query($link, $sql);
}
function getYewuOptions($link)
{
$sql = "
SELECT
accountid AS val ,
name AS label
FROM `account`
WHERE `department_id` IN ('321')
";
return mysqli_query($link, $sql);
}
function getShengguanokOptions($link)
{
$sql = "
SELECT
accountid AS val ,
name AS label
FROM `account`
WHERE `department_id` IN ('250')
";
return mysqli_query($link, $sql);
}
function getPinzhengOptions($link)
{
$sql = "
SELECT
accountid AS val ,
name AS label
FROM `account`
WHERE `department_id` IN ('912')
";
return mysqli_query($link, $sql);
}
function getAllUsersOptions($link)
{
$sql = "
SELECT
accountid AS val ,
name AS label
FROM `account`
WHERE `accounttype` NOT IN ('A','X')
";
return mysqli_query($link, $sql);
}
function getSelectOptionHtml($options, $selected_val)
{
$str = "";
foreach ($options as $option) :
if ($option['val'] == $selected_val) {
$str .= "<option selected value='" . $option['val'] . "'>" . $option['val'] . $option['label'] . "</option>";
} else {
$str .= "<option value='" . $option['val'] . "'>" . $option['val'] . $option['label'] . "</option>";
}
endforeach;
return $str;
}
function getSaveEstimateInstallData($user_department_id, $role_id)
{
if (in_array($user_department_id, ['50', '501']) && $role_id == '2')
return true;
if ($user_department_id == '311' && $role_id == '4')
return true;
if ($user_department_id == '312' && $role_id == '3')
return true;
if ($user_department_id == '313' && $role_id == '3')
return true;
if ($user_department_id == '314' && $role_id == '4')
return true;
if ($user_department_id == '315' && in_array($role_id, ['1', '2']))
return true;
if (in_array($user_department_id, [220, 531]))
return true;
if ($user_department_id == '521' && in_array($role_id, ['11', '9', '12']))
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '544' && in_array($role_id, ['3', '6']))
return true;
if ($user_department_id == '543' && $role_id == '2')
return true;
if ($user_department_id == '545' && in_array($role_id, ['3', '6']))
return true;
return false;
}
function saveInstallData($user_department_id, $role_id)
{
if ($user_department_id == '315' && $role_id == '1')
return true;
if ($user_department_id == '521' && $role_id == '9')
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '543' && $role_id == '2')
return true;
if ($user_department_id == '544' && in_array($role_id, ['3', '4', '6']))
return true;
if ($user_department_id == '545' && in_array($role_id, ['3', '6']))
return true;
if ($user_department_id == '220')
return true;
return false;
}
function getWipwholeChangePlanningCustomerDetailsStatus($link, $id)
{
$sql = "
SELECT
custom_name,
create_at,
change_status
FROM wipwhole_change_planning_customer_details
WHERE 1=1
AND wipwholestatus_id = '$id'
ORDER BY create_at DESC
LIMIT 1
";
return mysqli_query($link, $sql);
}
function getAllCustomerPlanningVerify($link, $id)
{
$sql = "
SELECT
real_custom_name AS custom_name,
customer_planning_verify_file,
date_format(customer_planning_verify_at, '%Y-%m-%d %H:%i:%s') AS create_at
FROM wipwholestatus
WHERE id = $id
AND customer_planning_verify_file != ''
AND customer_planning_verify_file IS NOT NULL
UNION
SELECT
custom_name,
customer_planning_verify_file,
create_at
FROM wipwhole_change_planning_customer_details
WHERE wipwholestatus_id = $id
AND customer_planning_verify_file != ''
AND customer_planning_verify_file IS NOT NULL
";
return mysqli_query($link, $sql);
}
// 各區營銷(契約)經理判斷程式
function checkUseridIsManager($user_id)
{
// 北區 劉永德
if (in_array($user_id, ['M0137']))
return true;
// 中區 李烘銘
if (in_array($user_id, ['M0086']))
return true;
// 桃竹 張莉凱
if (in_array($user_id, ['M0026']))
return true;
// 宜花東 陳志文
if (in_array($user_id, ['M0054']))
return true;
// 南區 吳育宗
if (in_array($user_id, ['M0033']))
return true;
return false;
}