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.
 
 
 
 
 
 

352 lines
15 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'];
$city = $_POST['city'];
if (!empty($_POST['real_address'])) {
$real_address = $city . $_POST['real_address'];
} else {
$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;
$shengguanok_insert_status = empty($_POST['shengguanok_insert_status']) ? null : $_POST['shengguanok_insert_status'];
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 = 1;
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $cid);
if (!empty($shengguanok_insert_status)) {
echo $form_key = getFomkeySeq($link);
$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'];
$city = $_POST['city'];
if (!empty($_POST['real_address'])) {
$real_address = $city . $_POST['real_address'];
} else {
$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");
$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' => $form_key,
'user_id' => $user_id,
'change_status' => $_POST['assign_status']
);
addWipwholeChangeContractdateDetails($link, $data_arr);
// 寫入待簽
$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);
$seq = '2';
$next_users = '00000';
}
$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;
}
}
}