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.
 
 
 
 
 
 

1172 lines
37 KiB

<?php
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_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 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 2;
// 品証
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 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 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 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 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 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 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 == '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)
{
$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 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 ($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 ($user_department_id == 311 || $user_department_id == 312 || $user_department_id == 313 || $user_department_id == 314 || $user_department_id == 315)
return checkNowFormYDStatus($link) == 'A' ? "" : "disabled";
if ($user_department_id == 501 || $user_department_id == 511 || $user_department_id == 512 || $user_department_id == 513 || $user_department_id == 514)
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";
}