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.
303 lines
12 KiB
303 lines
12 KiB
<?php
|
|
// echo $_POST['assign_status'];exit;
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
$checkStatus = checkStatus($link, $id, $user_id);
|
|
if (!empty($_POST['contract_arrival_date']) || !empty($_POST['real_address'])) {
|
|
if ($checkStatus) {
|
|
|
|
$all_contractno_change = empty($_POST['all_contractno_change']) ? null : $_POST['all_contractno_change'];
|
|
$real_contract_arrival_date = $_POST['real_contract_arrival_date'];
|
|
$contract_arrival_date = $_POST['contract_arrival_date'];
|
|
$real_address = $_POST['real_address'];
|
|
$old_real_address = $_POST['old_real_address'];
|
|
$estimated_shipping_schedule_date = $_POST['estimated_shipping_schedule_date'];
|
|
$contractno = $_POST['contractno'];
|
|
$next_users = $_POST['next_users'];
|
|
$tds = date("Y-m-d H:i:s");
|
|
|
|
// 檢查日期是否正確
|
|
if ($_POST['assign_status'] !== 'C' && empty($real_address)) {
|
|
if (strtotime($contract_arrival_date) < strtotime($estimated_shipping_schedule_date)) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
// 單次申請
|
|
if (($_POST['assign_status'] == 'A' || $_POST['assign_status'] == 'B') && empty($all_contractno_change)) {
|
|
$data_arr = array(
|
|
'id' => $id,
|
|
'all_contractno_change' => $all_contractno_change,
|
|
'real_contract_arrival_date' => $real_contract_arrival_date,
|
|
'contract_arrival_date' => $contract_arrival_date,
|
|
'real_address' => $real_address,
|
|
'old_real_address' => $old_real_address,
|
|
'contractno' => $contractno,
|
|
'tds' => $tds,
|
|
'form_key' => getFomkeySeq($link),
|
|
'user_id' => $user_id,
|
|
'change_status' => $_POST['assign_status']
|
|
);
|
|
// 寫入表單主檔
|
|
addWipwholeChangeContractdateDetails($link, $data_arr);
|
|
// 取得寫入後表單seq
|
|
$data_arr['last_id'] = $link->insert_id;
|
|
// 寫入待簽
|
|
addFlow($link, $data_arr);
|
|
$data_arr['seq'] = '0';
|
|
$data_arr['current_assigner'] = $user_id;
|
|
addSubflow($link, $data_arr);
|
|
$data_arr['seq'] = '1';
|
|
$data_arr['current_assigner'] = $next_users;
|
|
addSubflow($link, $data_arr);
|
|
}
|
|
|
|
// 批次申請
|
|
if (($_POST['assign_status'] == 'A' || $_POST['assign_status'] == 'B') && !empty($all_contractno_change)) {
|
|
$wipwholestatus_id_arr = getWipwholestatusIdByConstractNo($link, $contractno);
|
|
$assign_status = $_POST['assign_status'];
|
|
foreach ($wipwholestatus_id_arr as $wipwholestatus_id) {
|
|
$data_arr = array(
|
|
'id' => $wipwholestatus_id[0],
|
|
'all_contractno_change' => $all_contractno_change,
|
|
'real_contract_arrival_date' => $real_contract_arrival_date,
|
|
'contract_arrival_date' => $contract_arrival_date,
|
|
'real_address' => $real_address,
|
|
'old_real_address' => $old_real_address,
|
|
'contractno' => $contractno,
|
|
'tds' => $tds,
|
|
'form_key' => getFomkeySeq($link),
|
|
'user_id' => $user_id,
|
|
'change_status' => $assign_status
|
|
);
|
|
// 寫入表單主檔
|
|
addWipwholeChangeContractdateDetails($link, $data_arr);
|
|
// 取得寫入後表單seq
|
|
$data_arr['last_id'] = $link->insert_id;
|
|
// 寫入待簽
|
|
addFlow($link, $data_arr);
|
|
$data_arr['seq'] = '0';
|
|
$data_arr['current_assigner'] = $user_id;
|
|
addSubflow($link, $data_arr);
|
|
$data_arr['seq'] = '1';
|
|
$data_arr['current_assigner'] = $next_users;
|
|
addSubflow($link, $data_arr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// 單次申請 營業
|
|
if ($_POST['assign_status'] == 'D') {
|
|
$tds = date("Y-m-d H:i:s");
|
|
$next_users = $_POST['next_users'];
|
|
$seq = $_POST['seq'];
|
|
$sql = "
|
|
UPDATE wipwhole_change_contractdate_details
|
|
SET change_status = 'D'
|
|
WHERE id = '$cid'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
UPDATE flow
|
|
SET flow_code = 'D'
|
|
WHERE form_key = '$form_key'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
INSERT into subflow (
|
|
form_key,
|
|
seq,
|
|
current_assigner,
|
|
create_date
|
|
) VALUES (
|
|
'$form_key',
|
|
'2',
|
|
'$next_users',
|
|
'$tds'
|
|
)
|
|
";
|
|
mysqli_query($link, $sql);
|
|
}
|
|
// 取消
|
|
if ($_POST['assign_status'] == 'C') {
|
|
$tds = date("Y-m-d H:i:s");
|
|
$next_users = "00000";
|
|
if (accountidToDepartId($user_id) == "250" && in_array(accountidToRoleId($user_id), ["1", "4"])) {
|
|
if (getChangeStatus($link, $cid) == 'D' || getChangeStatus($link, $cid) == 'A') {
|
|
$seq = $_POST['seq'];
|
|
}
|
|
$sql = "
|
|
INSERT into subflow (
|
|
form_key,
|
|
seq,
|
|
current_assigner,
|
|
create_date
|
|
) VALUES (
|
|
'$form_key',
|
|
'$seq',
|
|
'$next_users',
|
|
'$tds'
|
|
)
|
|
";
|
|
mysqli_query($link, $sql);
|
|
} else if (accountidToDepartId($user_id) == "521" || accountidToDepartId($user_id) == "531") {
|
|
if (getChangeStatus($link, $cid) == 'D') {
|
|
$sql = "
|
|
UPDATE subflow
|
|
SET current_assigner = '$next_users',
|
|
create_date = '$tds'
|
|
WHERE form_key = '$form_key'
|
|
AND seq = '$seq'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
} else if (getChangeStatus($link, $cid) == 'A') {
|
|
$seq = $_POST['seq'];
|
|
$sql = "
|
|
UPDATE subflow
|
|
SET current_assigner = '$next_users',
|
|
create_date = '$tds'
|
|
WHERE form_key = '$form_key'
|
|
AND seq = '$seq'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
} else {
|
|
$seq = $_POST['seq'];
|
|
$sql = "
|
|
INSERT into subflow (
|
|
form_key,
|
|
seq,
|
|
current_assigner,
|
|
create_date
|
|
) VALUES (
|
|
'$form_key',
|
|
'$seq',
|
|
'$next_users',
|
|
'$tds'
|
|
)
|
|
";
|
|
mysqli_query($link, $sql);
|
|
}
|
|
} else {
|
|
$seq = $_POST['seq'];
|
|
$sql = "
|
|
UPDATE subflow
|
|
SET current_assigner = '$next_users',
|
|
create_date = '$tds'
|
|
WHERE form_key = '$form_key'
|
|
AND seq = '$seq'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
}
|
|
$sql = "
|
|
UPDATE wipwhole_change_contractdate_details
|
|
SET change_status = 'C'
|
|
WHERE id = '$cid'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
UPDATE flow
|
|
SET flow_code = 'Z'
|
|
WHERE form_key = '$form_key'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
}
|
|
|
|
// 通過
|
|
if ($_POST['assign_status'] == 'Z') {
|
|
|
|
$contract_arrival_date_tmp = empty($contract_arrival_date) ? $real_contract_arrival_date : $contract_arrival_date;
|
|
$real_address_tmp = empty($real_address) ? $old_real_address : $real_address;
|
|
|
|
if (accountidToDepartId($user_id) == "250" && in_array(accountidToRoleId($user_id), ["1", "4"])) {
|
|
$tds = date("Y-m-d H:i:s");
|
|
$next_users = $_POST['next_users'];
|
|
$seq = $_POST['seq'] + 1;
|
|
$sql = "
|
|
UPDATE wipwhole_change_contractdate_details
|
|
SET change_status = 'Z'
|
|
WHERE id = '$cid'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
UPDATE flow
|
|
SET flow_code = 'Z'
|
|
WHERE form_key = '$form_key'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
INSERT into subflow (
|
|
form_key,
|
|
seq,
|
|
current_assigner,
|
|
create_date
|
|
) VALUES (
|
|
'$form_key',
|
|
'$seq',
|
|
'$next_users',
|
|
'$tds'
|
|
)
|
|
";
|
|
mysqli_query($link, $sql);
|
|
$sql = "
|
|
UPDATE wipwholestatus
|
|
SET real_contract_arrival_date = '$contract_arrival_date_tmp',
|
|
real_address = '$real_address_tmp'
|
|
WHERE id = '$id'
|
|
";
|
|
mysqli_query($link, $sql);
|
|
|
|
// 發送系統通知
|
|
$contractno = $_POST['contractno'];
|
|
$facilityno = $_POST['facilityno'];
|
|
$real_contract_arrival_date = $_POST['real_contract_arrival_date'];
|
|
$salesid = $_POST['salesid'];
|
|
$gongWuokid = $_POST['gongWuokid'];
|
|
$old_real_address = $_POST['old_real_address'];
|
|
$real_address = $_POST['real_address'];
|
|
$content = "合約號 : $contractno
|
|
作番號 : $facilityno
|
|
出貨日期微調: " . substr($real_contract_arrival_date, 0, 10) . " => " . substr($contract_arrival_date_tmp, 0, 10) . "
|
|
工地地址微調: " . $old_real_address . " => " . $real_address_tmp;
|
|
|
|
// 大日程出貨日調整 通知營業人員
|
|
$noticeData = array(
|
|
'related_id' => $cid,
|
|
'title' => '作番大日程(新梯)出貨日調整通知 > ' . $facilityno,
|
|
'content' => $content,
|
|
'permission' => $salesid,
|
|
);
|
|
addNotice($link, $noticeData);
|
|
// 大日程出貨日調整 通知工務人員
|
|
$noticeData = array(
|
|
'related_id' => $cid,
|
|
'title' => '作番大日程(新梯)出貨日調整通知 > ' . $facilityno,
|
|
'content' => $content,
|
|
'permission' => $gongWuokid,
|
|
);
|
|
addNotice($link, $noticeData);
|
|
|
|
$shengguano_arr = getShengguanokOptions($link);
|
|
foreach ($shengguano_arr as $row) :
|
|
$contractno = $_POST['contractno'];
|
|
$facilityno = $_POST['facilityno'];
|
|
$real_contract_arrival_date = $_POST['real_contract_arrival_date'];
|
|
$gongWuokid = $_POST['gongWuokid'];
|
|
$old_real_address = $_POST['old_real_address'];
|
|
$real_address = $_POST['real_address'];
|
|
$content = "合約號 : $contractno
|
|
作番號 : $facilityno
|
|
出貨日期微調: " . substr($real_contract_arrival_date, 0, 10) . " => " . substr($contract_arrival_date_tmp, 0, 10) . "
|
|
工地地址微調: " . $old_real_address . " => " . $real_address_tmp;
|
|
|
|
// 大日程出貨日調整 通知營業人員
|
|
$noticeData = array(
|
|
'related_id' => $cid,
|
|
'title' => '作番大日程(新梯)出貨日調整通知 > ' . $facilityno,
|
|
'content' => $content,
|
|
'permission' => $row['val'],
|
|
);
|
|
addNotice($link, $noticeData);
|
|
endforeach;
|
|
}
|
|
}
|
|
}
|
|
|