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.
1126 lines
35 KiB
1126 lines
35 KiB
<?php
|
|
|
|
// 取得本次簽核的表單id值
|
|
function getId($link, $form_key)
|
|
{
|
|
$sql = "
|
|
SELECT form_id AS id
|
|
FROM flow
|
|
WHERE form_key = '$form_key'
|
|
AND system_id = 'wws'
|
|
AND flow_id = 'wws02'
|
|
";
|
|
$result = mysqli_query($link, $sql);
|
|
$row = mysqli_fetch_array($result);
|
|
return $row['id'];
|
|
}
|
|
|
|
// 取得本次簽核的表單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')
|
|
AND f.system_id = 'wws'
|
|
AND f.flow_id = 'wws02'
|
|
";
|
|
$result = mysqli_query($link, $sql);
|
|
$row = mysqli_fetch_array($result);
|
|
return $row['form_key'];
|
|
}
|
|
|
|
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 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_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 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 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 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) +
|
|
CAST(IF(customer_planning_verify != '2',customer_planning_verify,'0') AS SIGNED)
|
|
) AS sum_num
|
|
FROM wipwholestatus
|
|
WHERE 1=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' OR goods_type = 'C' ,'0','1') AS SIGNED)+
|
|
CAST(IF(taiwan_goods_type = 'A' OR 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 id = '$id'
|
|
";
|
|
$result = mysqli_query($link, $sql);
|
|
$row = mysqli_fetch_array($result);
|
|
return $row[0];
|
|
}
|
|
|
|
// 取得營業員編號
|
|
function getYingYeokNo($link)
|
|
{
|
|
if (isset($_GET['id']) || isset($_GET['form_key'])) {
|
|
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
|
|
}
|
|
$sql = "
|
|
SELECT
|
|
salesid
|
|
FROM wipwholestatus
|
|
WHERE 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'
|
|
";
|
|
$result = mysqli_query($link, $sql);
|
|
$row = mysqli_fetch_array($result);
|
|
// 宜蘭=高培軒(M0087) 北=吳宗紘(M0040) 中=林瑋隆(M0113) 南=韋宗榮(M0039)改鄭存邑(M0102)
|
|
$arr = array(
|
|
"宜蘭" => "M0087",
|
|
"北" => "M0040",
|
|
"台北" => "M0040",
|
|
"基隆" => "M0040",
|
|
"新北" => "M0040",
|
|
"新竹" => "M0040",
|
|
"桃園" => "M0040",
|
|
"苗栗" => "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 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 = 'wws02'
|
|
";
|
|
$result = mysqli_query($link, $sql);
|
|
$row = mysqli_fetch_array($result);
|
|
return $row['0'];
|
|
}
|
|
|
|
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 .= $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)
|
|
{
|
|
// 業務部門
|
|
// 鍾哥(生管) 部門代碼:250 職位大小:1 4
|
|
// 許協理 部門代碼:320 職位大小:1
|
|
// 詹總 部門代碼:50 職位大小:1
|
|
// 許總 部門代碼:20 職位大小:1
|
|
// 設計 部門代碼:911
|
|
// 宜蘭工務 user_id:M0087
|
|
// 北區工務組長 user_id:M0040
|
|
// 中區工務組長 user_id:M0113 M0158
|
|
// 南區工務組長 user_id:M0039 M0078
|
|
// 工務部門 部門代碼:521 531 541 542 543 544 545
|
|
|
|
if ($department_id == "321")
|
|
return 8;
|
|
if ($department_id == "250" && in_array($role_id, ["1", "4"]))
|
|
return 8;
|
|
if ($department_id == "320" && $role_id == "1")
|
|
return 8;
|
|
if ($department_id == "50" && $role_id == "1")
|
|
return 8;
|
|
if ($department_id == "20" && $role_id == "1")
|
|
return 8;
|
|
if ($department_id == "911")
|
|
return 2;
|
|
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 == '912')
|
|
return 4;
|
|
if (in_array($department_id, [521, 531, 541, 542, 543, 544, 545]))
|
|
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)
|
|
{
|
|
|
|
// 補丁 黃孟澤 & 葉博澄 權限 = 李烘銘
|
|
if (in_array($user_id, ['M0166', 'M0091'])) {
|
|
$user_id = 'M0086';
|
|
}
|
|
|
|
$contract_type = 'B';
|
|
// 營業員主管或營業員
|
|
$department_arr = [
|
|
'310', '311', '312', '313', '314', '315',
|
|
'511', '512', '513', '514'
|
|
];
|
|
|
|
$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
|
|
// 中區營銷部 新梯營銷經理 313 1
|
|
// 南區營銷部 銷售專案經理 314 2
|
|
// 花東區營銷部 營銷專案經理 315 1
|
|
|
|
if ($department_id == '311' && (in_array($role_id, ['1', '3'])) || $user_id = "M0013") {
|
|
$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;
|
|
}
|
|
}
|
|
// 鍾哥 部門代碼:250 職位大小:1 4
|
|
// 許協理 部門代碼:320 職位大小:1
|
|
// 張主任 部門代碼:322 職位大小:1
|
|
// 詹總 部門代碼:50 職位大小:1
|
|
// 許總 部門代碼:20 職位大小:1
|
|
// 業務部門 部門代碼:321
|
|
// 資訊部門 部門代碼:220
|
|
// 服務支援部門 部門代碼:501
|
|
// 財會部門 部門代碼:210
|
|
$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'
|
|
" . 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 == 'M0040' || $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 == 'M0039' || $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';
|
|
}
|
|
|
|
$contract_type = 'B';
|
|
// 營業員主管或營業員
|
|
$department_arr = ['501', '511', '512', '513', '514'];
|
|
|
|
$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 = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
";
|
|
$sql .= getWipwholeSearchSql();
|
|
$sql .= "ORDER BY real_contract_arrival_date DESC ";
|
|
|
|
if (in_array($department_id, $department_arr)) {
|
|
// 北區營銷部 營銷專案經理 311 1
|
|
// 新梯營銷經理 311 3
|
|
// 桃竹營銷部 銷售專案經理 312 1
|
|
// 中區營銷部 新梯營銷經理 313 1
|
|
// 南區營銷部 銷售專案經理 314 2
|
|
// 花東區營銷部 銷售專案經理 314 1
|
|
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;
|
|
}
|
|
}
|
|
|
|
// 鍾哥 部門代碼:250 職位大小:1 4
|
|
// 許協理 部門代碼:320 職位大小:1
|
|
// 張主任 部門代碼:322 職位大小:1
|
|
// 詹總 部門代碼:50 職位大小:1
|
|
// 許總 部門代碼:20 職位大小:1
|
|
// 業務部門 部門代碼:321
|
|
// 資訊部門 部門代碼:220
|
|
// 服務支援部 部門代碼:501
|
|
// 財會部門 部門代碼:210
|
|
$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 = 'wws02'
|
|
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 contract_type = '$contract_type'
|
|
AND id IN (
|
|
SELECT
|
|
form_id AS id
|
|
FROM flow
|
|
WHERE system_id = 'wws'
|
|
AND flow_id = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
" . getWipwholeSearchSql() . "
|
|
AND SUBSTR(address,1,2) in ('宜蘭')
|
|
ORDER BY real_contract_arrival_date DESC
|
|
";
|
|
return $sql;
|
|
}
|
|
// 北區工務組長
|
|
if ($user_id == 'M0040' || $user_id == 'M0176') {
|
|
$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 = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
" . 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'
|
|
AND id IN (
|
|
SELECT
|
|
form_id AS id
|
|
FROM flow
|
|
WHERE system_id = 'wws'
|
|
AND flow_id = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
" . 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 contract_type = '$contract_type'
|
|
AND id IN (
|
|
SELECT
|
|
form_id AS id
|
|
FROM flow
|
|
WHERE system_id = 'wws'
|
|
AND flow_id = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
" . 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'
|
|
AND id IN (
|
|
SELECT
|
|
form_id AS id
|
|
FROM flow
|
|
WHERE system_id = 'wws'
|
|
AND flow_id = 'wws02'
|
|
AND flow_code IN ('$flow_code')
|
|
)
|
|
" . getWipwholeSearchSql() . "
|
|
ORDER BY real_contract_arrival_date DESC
|
|
";
|
|
return $sql;
|
|
}
|
|
return $sql;
|
|
}
|
|
|
|
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 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 ($user_department_id == 220)
|
|
return "";
|
|
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545, 50, 501, 311, 313, 314, 521, 315, 912])) {
|
|
if ($status == 1) {
|
|
return checkNowFormStatus($link) == 'A' ? "" : "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) == 'B' ? "" : "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) == 'B' ? "" : "disabled";
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
return "disabled";
|
|
}
|
|
function getDesinStatus($link, $user_department_id, $role_id)
|
|
{
|
|
if ($user_department_id == 220)
|
|
return "";
|
|
if ($user_department_id == 911)
|
|
return checkNowFormStatus($link) == 'C' ? "" : "disabled";
|
|
return "disabled";
|
|
}
|
|
function getDesinLeaderStatus($link, $user_department_id, $role_id)
|
|
{
|
|
if ($user_department_id == 220)
|
|
return "";
|
|
if ($user_department_id == 911)
|
|
return checkNowFormStatus($link) == 'D' && $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";
|
|
}
|
|
|
|
function getTabNo($user_department_id)
|
|
{
|
|
if ($user_department_id == 220)
|
|
return 0;
|
|
if (in_array($user_department_id, [311, 312, 313, 314, 315]))
|
|
return 1;
|
|
if (in_array($user_department_id, [501, 511, 512, 513]))
|
|
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 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','511','512','513','514')
|
|
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 getWipwholeChangeButtonStatus($user_department_id)
|
|
{
|
|
if (in_array($user_department_id, [311, 312, 313, 314, 315]))
|
|
return true;
|
|
if (in_array($user_department_id, [501, 511, 512, 513, 514]))
|
|
return true;
|
|
if (in_array($user_department_id, [521, 531, 220, 250]))
|
|
return true;
|
|
if (in_array($user_department_id, [541, 542, 543, 544, 545]))
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
|
|
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']))
|
|
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 getSaveInstallDataButtonStatus($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']))
|
|
return true;
|
|
if ($user_department_id == '543' && $role_id == '2')
|
|
return true;
|
|
if ($user_department_id == '544' && in_array($role_id, ['3', '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
|
|
custom AS custom_name,
|
|
customer_planning_verify_file,
|
|
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);
|
|
}
|