2026-05-22 20:21:54 +02:00
< ? 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 ){
2026-07-15 14:30:46 +02:00
$sql = " UPDATE user_client_events SET user_id= $_GET[who_work] WHERE req_id= $req_id and type NOT IN ('step', 'file') AND NOT (type = 'deal' AND deal_id > 0) " ;
2026-05-22 20:21:54 +02:00
}
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' ]);
}
?>