Joywork/ajax/confirmClient.php
2026-05-22 21:21:54 +03:00

328 lines
16 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/ajax/vue_php_function.php");
if($_SESSION['id'] && ($_GET['id'] || $_GET['req_id']))
{
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
$tr = (int)$_GET['tr'];
$client_id = (int)$_GET['id'];
$req_id = (int)$_GET['req_id'];
$adjacent_id = (int)$_GET['adjacent_id'];
$deleted_req = (int)$_GET['deleted_req'];
if ($deleted_req == 1) {
$user = new User;
$r_check_permissions = $user->checkMenuPermissions();
$daily_closed_req_left = $r_check_permissions['daily_closed_req_limit'] - $r_check_permissions['actual_daily_closed_req'];
if ($daily_closed_req_left <= 0) {
exit;
}
$sql_user_id = $_SESSION['id'];
$sql = "UPDATE user_permissions SET actual_daily_closed_req=actual_daily_closed_req + 1 WHERE user_id = $sql_user_id";
mysql_query($sql);
}
// Если заявка уже в работе у другого сотрудника — блокируем взятие из закрытых
// if ($deleted_req == 1 && $req_id > 0) {
// $sql_check_current_owner = "SELECT who_work, deleted FROM requisitions WHERE id = $req_id LIMIT 1";
// $result_check = mysql_query($sql_check_current_owner);
// if ($row_check = mysql_fetch_assoc($result_check)) {
// $current_owner = (int)$row_check['who_work'];
// $is_deleted = (int)$row_check['deleted'];
// if ($is_deleted > 0 && $current_owner != $_SESSION['id']) {
// echo json_encode([
// 'error' => true,
// 'message' => 'Заявка уже находится в работе у другого сотрудника и не может быть взята вами.'
// ]);
// exit();
// }
// }
// }
if ($tr != 1) {
$sql = "UPDATE clients SET confirm=1, who_work=$_GET[who_work] WHERE id=$_GET[id]";
if ($req_id > 0) {
if ($deleted_req == 1) {
$sql = "UPDATE requisitions SET confirm=1, who_work=$_GET[who_work], deleted=0 WHERE id=$req_id";
} else {
$sql = "UPDATE requisitions SET confirm=1, who_work=$_GET[who_work] WHERE id=$req_id";
}
}
if($adjacent_id > 0) {
$sql = "UPDATE adjacent_funnels SET confirm=1, who_work=$_GET[who_work] WHERE id=$adjacent_id";
}
//echo $sql;
if (mysql_query($sql)) {
// Автопривязка ответственного по заявке к клиенту из заявки
if($adjacent_id == 0) {
if ($req_id > 0 ) {
$sql = "UPDATE `clients`
JOIN `requisitions` AS `req` ON
`clients`.`id` = `req`.`client_id` AND
`clients`.`who_work` = 0 AND
`clients`.`confirm` = 0 AND
`req`.`id` = '$req_id' AND
`clients`.`who_work` = 0 AND
`clients`.`confirm` = 0
SET `clients`.`who_work` = '{$_GET['who_work']}',
`clients`.`confirm` = 1";
mysql_query($sql);
}
}
//Смена срока закрытия этапа
if($adjacent_id > 0) {
$sql_step = "SELECT * FROM adjacent_funnels WHERE id = {$adjacent_id}";
$q_step = mysql_query($sql_step);
if(mysql_num_rows($q_step) > 0){
$sql_op_step = "UPDATE adjacent_funnels SET updated_at = NOW() WHERE id = {$adjacent_id}";
mysql_query($sql_op_step);
}
} else
if($client_id > 0){
$sql_step = "SELECT * FROM clients_funnel_step WHERE client_id = {$client_id}";
$q_step = mysql_query($sql_step);
if(mysql_num_rows($q_step) > 0){
$sql_op_step = "UPDATE clients_funnel_step SET date_update = NOW() WHERE client_id = {$client_id}";
mysql_query($sql_op_step);
} else {
$sql_client = "SELECT funnel_id FROM clients WHERE id = {$client_id}";
$q_client = mysql_query($sql_client);
$r_client = mysql_fetch_assoc($q_client);
if($r_client['funnel_id'] > 0){
mysql_query("INSERT INTO clients_funnel_step (client_id) VALUES ({$client_id})");
}
}
} else
if($req_id > 0){
$sql_step = "SELECT * FROM clients_funnel_step WHERE req_id = {$req_id}";
$q_step = mysql_query($sql_step);
if(mysql_num_rows($q_step) > 0){
$sql_op_step = "UPDATE clients_funnel_step SET date_update = NOW() WHERE req_id = {$req_id}";
mysql_query($sql_op_step);
} else {
$sql_req = "SELECT funnel_id FROM requisitions WHERE id = {$req_id}";
$q_req = mysql_query($sql_req);
$r_req = mysql_fetch_assoc($q_req);
if($r_req['funnel_id'] > 0){
mysql_query("INSERT INTO clients_funnel_step (req_id) VALUES ({$req_id})");
}
}
}
}
} else {
$sql_client = "SELECT doers, who_work FROM clients WHERE id=$_GET[id]";
if($req_id > 0){
$sql_client = "SELECT doers, who_work FROM requisitions WHERE id=$req_id";
}
$q_client = mysql_query($sql_client);
$r_client = mysql_fetch_assoc($q_client);
if(!empty($r_client['doers'])){
$confirm = 1;
$doers = json_decode(html_entity_decode($r_client['doers']), true);
$doers[$_SESSION['id']] = 1;
foreach($doers as $doer){
if($doer == 0) $confirm = 0;
}
$sql_up = "UPDATE clients SET doers='".clearInputElement(json_encode($doers))."', doers_confirm=$confirm WHERE id=$_GET[id]";
if($req_id > 0){
$sql_up = "UPDATE requisitions SET doers='".clearInputElement(json_encode($doers))."', doers_confirm=$confirm WHERE id=$req_id";
}
mysql_query($sql_up);
if($req_id > 0){
foreach($doers as $key => $agent) {
$sql_up_d = "UPDATE requisition_doers SET confirm = {$agent} WHERE requisition_id ={$req_id} and user_id = {$key}";
mysql_query($sql_up_d);
}
} else if($_GET['id'] > 0){
foreach($doers as $key => $agent) {
$sql_up_d = "UPDATE clients_doers SET confirm = {$agent} WHERE client_id ={$_GET['id']} and user_id = {$key}";
mysql_query($sql_up_d);
}
}
$sql_up_doer = "UPDATE doers_emp_client SET confirm=1 WHERE client_id =$_GET[id] and who_work = $r_client[who_work] and doer_id = $_SESSION[id]";
if($req_id > 0){
$sql_up_doer = "UPDATE doers_emp_client SET confirm=1 WHERE req_id =$req_id and who_work = $r_client[who_work] and doer_id = $_SESSION[id]";
}
mysql_query($sql_up_doer);
}
}
if($tr != 1){
$sql="UPDATE user_client_events SET user_id=$_GET[who_work] WHERE client_id=$_GET[id] and type != 'step' and type != 'file'";
if($req_id > 0){
$sql = "UPDATE user_client_events SET user_id=$_GET[who_work] WHERE req_id=$req_id and type != 'step' and type != 'file'";
}
mysql_query($sql);
}
if($tr != 1){
$sql = "UPDATE `events_clients` SET `read` = 1, date_update='".date('Y-m-d H:i:s')."' WHERE client_id = $_GET[id] AND event IN ('transmitted', 'notadopted')";
if($req_id > 0){
$sql = "UPDATE `events_clients` SET `read` = 1, date_update='".date('Y-m-d H:i:s')."' WHERE req_id = $req_id AND event IN ('transmitted', 'notadopted')";
}
mysql_query($sql);
} else {
$sql_2 = "UPDATE `events_clients` SET `read` = 1, date_update='".date('Y-m-d H:i:s')."' WHERE client_id = $_GET[id] AND event IN ('transmitted_parallel', 'notadopted_doer') AND from_id = ".$_SESSION['id'];
if($req_id > 0){
$sql_2 = "UPDATE `events_clients` SET `read` = 1, date_update='".date('Y-m-d H:i:s')."' WHERE req_id = $req_id AND event IN ('transmitted_parallel', 'notadopted_doer') AND from_id = ".$_SESSION['id'];
}
mysql_query($sql_2);
}
$accepted = 'accepted';
$type_funnel = 'main';
if($adjacent_id > 0) {
$type_funnel = 'adjacent';
}
if($tr == 1)
{
$accepted = 'accepted_doer';
}
$sql = "INSERT INTO `events_clients` (user_id, client_id, from_id, event, `read`) VALUES ('".$_SESSION['id']."', '".$_GET['id']."', '".$_SESSION['id']."', '".$accepted."', '1')";
if($req_id > 0){
if ($deleted_req == 1) {
$sql = "INSERT INTO `events_clients` (user_id, req_id, from_id, event, `read`) VALUES ('".$_SESSION['id']."', '".$req_id."', '".$_SESSION['id']."', 'taken_from_closed', '1')";
} else {
$sql = "INSERT INTO `events_clients` (user_id, req_id, from_id, event, `read`) VALUES ('".$_SESSION['id']."', '".$req_id."', '".$_SESSION['id']."', '".$accepted."', '1')";
}
}
if($adjacent_id > 0 && $req_id > 0){
//Для смежной воронки ищем ответственного по заявке в основной воронке и смежную воронку
$sql_ad = "SELECT * FROM `adjacent_funnels` WHERE id = {$adjacent_id}";
$q_ad = mysql_query($sql_ad);
$r_ad = mysql_fetch_assoc($q_ad);
$funnel_id = $r_ad['funnel_id'];
$sql_req = "SELECT * FROM requisitions WHERE id = {$req_id}";
$q_req = mysql_query($sql_req);
if($r_req = mysql_fetch_assoc($q_req)){
if($r_req['who_work'] > 0){
$sql_up_ev = "INSERT INTO `events_clients` (user_id, req_id, from_id, event, `read`, funnel_type, funnelid) VALUES ('".$_SESSION['id']."', '".$req_id."', '".$r_req['who_work']."', 'transmitted_adjacent', '1', '{$type_funnel}',{$funnel_id})";
mysql_query($sql_up_ev);
}
}
}
$agency = new User;
$agency->get($_SESSION['id']);
mysql_query($sql);
$sqlUser = "SELECT `first_name`, `last_name`, `middle_name`, `phone`, `agency_name` FROM `users` where id=".$_SESSION['id'];
$qUser = mysql_query($sqlUser);
$rUser = mysql_fetch_assoc($qUser);
$sobstv = trim($rUser['last_name'] . ' ' . $rUser['first_name'] . ' ' . $rUser['middle_name']);
if ($_SESSION['agency']) {
$sobstv = $sobstv . ", агентство " . $rUser['agency_name'];
} else {
if (isset($agency->agencyName)) {
$sobstv = trim($rUser['last_name'] . ' ' . $rUser['first_name'] . ' ' . $rUser['middle_name']) . ", агентство " . $agency->agencyName;
} else {
$sobstv = trim($rUser['last_name'] . ' ' . $rUser['first_name'] . ' ' . $rUser['middle_name']);
}
}
//Объединение заявок для Домрил
/* if($tr != 1 && $req_id > 0 && $agency->agencyId == 19895){
$client_req_id = 0;
$sql_cl_req = "SELECT * FROM requisitions WHERE id = {$req_id}";
$q_cl_req = mysql_query($sql_cl_req);
$r_cl_req = mysql_fetch_assoc($q_cl_req);
$client_req_id = (int)$r_cl_req['client_id'];
if($client_req_id > 0){
$sql_req = "SELECT * FROM requisitions WHERE client_id='{$client_req_id}' AND who_work = $_GET[who_work] AND deleted = 0 AND cancel = 0 AND id != {$req_id}";
$q_req = mysql_query($sql_req);
while($r_req = mysql_fetch_assoc($q_req)){
/*$comment = "Обращался повторно<br>";
$comment .= "Заявка: ID ".$r_req['id'] ." от ".date('d.m.Y H:i:s', strtotime($r_req['created_at']));
$sql_ev = "INSERT INTO user_client_events (req_id, `type`, comment, user_id, from_id, create_date, calendar_view)
VALUES ($req_id, 'comment', '{$comment}', {$_GET['who_work']}, {$_GET['who_work']}, NOW(), 1)";
mysql_query($sql_ev);*/
/* mysql_query("UPDATE requisitions SET cancel = 1 WHERE id = $r_req[id]");
$dop_text = "Объединение c заявкой ID ".$r_req['id'];
$in_ev = "INSERT INTO `events_clients` (`user_id`, `req_id`, `event`, `dop_text`, `read`) VALUES ('{$_GET['who_work']}', '$req_id', 'update', '{$dop_text}', 1)";
mysql_query($in_ev);
}
}
}*/
if($tr != 1 && $adjacent_id == 0){
$num_search = num_search($rUser['phone']);
//Передача объекта
if($req_id > 0){
$sql_cl = "SELECT `name` as `fio`, object_id, type_id, (SELECT heir FROM requisitions_type WHERE id = requisitions.type_id) as heir FROM `requisitions` WHERE `id` = ".$req_id;
$q_cl = mysql_query($sql_cl);
$r_cl = mysql_fetch_assoc($q_cl);
if($r_cl['object_id'] && ($r_cl['type_id'] == 2 || $r_cl['heir'] == 2)){
$sql_up = "UPDATE objects SET id_add_user = '".$_SESSION['id']."', phone='".$rUser['phone']."', sobstv='".$sobstv."' WHERE id = ".$r_cl['object_id'];
//echo $sql_up;
mysql_query($sql_up);
$sql_sph = "UPDATE objects SET id_add_user = {$_SESSION['id']} WHERE id = ".$r_cl['object_id'];
$db_sphinx->query($sql_sph);
}
} else {
$sql_confirm_obj = "SELECT * FROM client_confirm_objects WHERE client_id = $_GET[id] AND status = 0";
$q_confirm_obj = mysql_query($sql_confirm_obj);
$is_confirm_obj = false;
if(mysql_num_rows($q_confirm_obj) > 0){
$r_confirm_obj = mysql_fetch_assoc($q_confirm_obj);
$is_confirm_obj = (bool)$r_confirm_obj['confirm_objects'];
}
if($is_confirm_obj){
$sql_client = "SELECT * FROM `client_objects` WHERE client_id = $_GET[id]";
$q_client = mysql_query($sql_client);
while($object = mysql_fetch_assoc($q_client)){
$sql_up = "UPDATE objects SET id_add_user = '".$_SESSION['id']."', phone='".$rUser['phone']."', sobstv='".$sobstv."' WHERE id = ".$object['object_id'];
//echo $sql_up;
mysql_query($sql_up);
$sql_sph = "UPDATE objects SET id_add_user = {$_SESSION['id']} WHERE id = ".$object['object_id'];
$db_sphinx->query($sql_sph);
}
}
mysql_query("UPDATE client_confirm_objects_req SET status = 1 WHERE client_id = $_GET[id] AND status = 0");
}
}
$cl_count = new Clients;
echo $cl_count->getCountResClients($_SESSION['id']);
}
?>