hook = true;
$group = Dever::param('group',$data);
// $id = Dever::param('id',$data);
if ($group) {
$res = Dever::db('work/branch')->find(array('group_id'=>$group[0]));
if ($res && isset($id['where_id']) && $id['where_id']){
if ($res['id'] != $id['where_id']){
Dever::alert('部门已存在');
}
} elseif ($res) {
Dever::alert('部门已存在');
}
}
}
public function updateBranch($id,$name,$data)
{
// Dever::config('base')->hook = true;
$group = Dever::param('group',$data);
if($group) {
$where['where_id'] = $id;
$where['group_id'] = $group[0];
Dever::db('work/branch')->update($where);
}
}
public function insertAppoint($id,$name,$data)
{
$admin = Dever::load("manage/auth.info");
$info_id = Dever::param('info_id',$data);
if ($info_id) {
$info = Dever::db('work/info')->find($info_id);
// print_R($info);die;
// if ($info['appoint_id'] != $admin['id'] && $admin['id'] != $info['audit_admin']) {
// Dever::alert('reload');
// }
if ($info['status']>=3){
Dever::alert('reload');
}
}
}
public function updateAppoint($id,$name,$data)
{
Dever::config('base')->hook = true;
$info_id = Dever::param('info_id',$data);
$branch = Dever::param('admin_id',$data);
$email = Dever::param('email',$data);
if ($info_id ) {
$info = Dever::db('work/info')->find($info_id);
$admin = Dever::load('manage/auth.info');
$admin_id = $info['audit_admin'];
if ($info['audit_admin'] != $admin['id']) {
$admin_id = $admin['id'];
}
if($info) {
if ($branch) {
$i['where_id'] = $info['id'];
// if ($info['group']) {
// $group = $info['group'].',';
// } else {
$group = $branch[0];
// }
if (isset($branch[1]) && $branch[1]) {
$i['appoint_id'] = $branch[1];
}
$i['group'] = $group;
$i['zdate'] = time();
$i['chdate'] = time();
$i['status'] = 2;
if ($i) {
Dever::db('work/info')->update($i);
}
}
$w['info_id'] = $info['id'];
$w['admin_id'] = $admin_id;
$w['appoint_id'] = $id;
if (isset($branch[1]) && $branch[1]) {
$w['app_admin_id'] = $branch[1];
}
Dever::db('work/info_log')->insert($w);
}
if ($branch) {
// $data = Dever::db('work/branch')->find(array('group_id'=>$branch[0]));
// if ($data) {
// $where['where_id'] = $data['id'];
// $where['num'] = $data['num'] +1;
// Dever::db('work/branch')->update($where);
// }
$wh['where_id'] = $id;
$wh['group'] = $branch[0];
if(isset($branch[1]) && $branch[1]) {
$wh['admin'] = $branch[1];
}
Dever::db('work/appoint')->update($wh);
}
if ($email && $email == 2) {
$admin = Dever::db('manage/admin')->find($branch['1']);
$res = Dever::load('work/lib/manage')->getTotal($admin['id'],'1,2');
$work_list =Dever::url('project/database/list?project=work&table=info&search_option_dever_auth=2&search_option_state=1&[refer]', 'manage');
$url = Dever::url('home?link=' . urlencode($work_list) . '&group=10&parent_menu=work&menu=work.my' , 'manage');
// $url =
$content = '你有'.$res.'个待处理工单,点此跳转至工单系统查看';
Dever::load('work/lib/cron')->send($admin['email'],$admin['username'],'你有新的工单待处理',$content);
}
}
}
#指派人
private $default = array
(
'value' => -1,
'name' => '不选择',
);
private $search_default = array
(
'value' => -1,
'name' => '部门',
);
public function get_api()
{
$type = Dever::input('type', 2);
# 联动总数,默认到部门
$level_total = Dever::input('level_total', 1);
# 当前联动级别
$level_num = Dever::input('level_num');
# 一般为id
$level_id = Dever::input('level_id');
# 是否是搜索列表页
$level_search = Dever::input('level_search');
if ($level_search) {
$default = $this->search_default;
if ($level_num == 1) {
$default['name'] = '部门选择';
} elseif ($level_num == 2) {
$default['name'] = '组员选择';
}
} else {
// echo 11;
$default = $this->default;
}
// if ($level_id < 0) {
// Dever::alert('error');
// }
if ($level_num == 1) {
$data = $this->group();
} elseif ($level_num == 2) {
$data = $this->group_admin($level_id, $type);
}
if (!$data) {
Dever::alert('error');
}
if ($level_search || $level_num >= 1) {
array_unshift($data, $default);
}
if ($level_num == 2) {
unset($data[0]);
}
$result['level_total'] = $level_total;
$result['list'] = $data;
return $result;
}
public function group(){
$data = Dever::load('manage/company')->getGroup();
foreach ($data as $k => $v) {
$data[$k]['value'] = $v['id'];
}
return $data;
}
public function group_admin($level_id, $type = 1){
$admin_id = false;
if ($type == 2) {
$info = Dever::db('work/branch')->find(array('group_id' => $level_id));
if ($info) {
$temp = explode(',', $info['group']);
$admin_id = $temp[1] . ',' . $info['coor'];
}
}
$data = Dever::load('manage/company')->getAdmin($level_id, false, $admin_id);
foreach ($data as $k => $v) {
foreach ($v as $k1 => $v1) {
$data[$k]['value'] = $v['id'];
$data[$k]['name'] = $v['username'];
}
}
return $data;
}
#问题
private $cdefault = array
(
'value' => -1,
'name' => '不选择',
);
private $search_cdefault = array
(
'value' => -1,
'name' => '问题类型描述',
);
#问题类型联动
public function getCate_api()
{
# 联动总数,默认到部门
$level_total = Dever::input('level_total', 1);
# 当前联动级别
$level_num = Dever::input('level_num');
# 一般为id
$level_id = Dever::input('level_id');
# 是否是搜索列表页
$level_search = Dever::input('level_search');
if ($level_search) {
$default = $this->search_cdefault;
if ($level_num == 1) {
$default['name'] = '问题分类名称';
} elseif ($level_num == 2) {
$default['name'] = '问题类型描述';
}
} else {
$default = $this->cdefault;
}
if ($level_num == 1) {
$data = Dever::db('work/q_cate')->getSearchAll();
} elseif ($level_num == 2) {
$data = Dever::db('work/question')->getSearchAll(array('cate_id'=>$level_id));
}
if (!$data) {
Dever::alert('error');
}
if ($level_search || $level_num >= 1) {
array_unshift($data, $default);
}
$result['level_total'] = $level_total;
if ($level_num == 2) {
unset($data[0]);
}
$result['list'] = $data;
return $result;
}
public function show_api()
{
$info_id = Dever::input('id');
$data['info'] = Dever::db('work/info')->find($info_id);
$ztime = $data['info']['cdate'];
$data['info']['cdate'] = date('Y-m-d H:i',$data['info']['cdate']);
$priority = Dever::db('work/priority')->find($data['info']['priority_id']);
$data['info']['priority_name'] = $priority['name'];
$data['info']['color'] = $priority['color'];
$admin = Dever::db('manage/admin')->find($data['info']['audit_admin']);
// print_R($admin);die;
$admin['group'] = explode(',',$admin['group']);
foreach ($admin['group'] as $k => $v) {
$group = Dever::db('manage/group')->find(array('company_id'=>$data['info']['company_id'],'id'=>$v));
}
$data['info']['admin'] = $group['name'].' / '.$admin['username'];
if ($data['info']['source']) {
$source = Dever::db('work/q_source')->find($data['info']['source']);
if ($source) {
$data['info']['source_name'] = $source['name'];
}
}
if ($data['info']['branch_id']) {
$branch_id = explode(',',$data['info']['branch_id']);
if (isset($branch_id[0]) && $branch_id[0]>0) {
$group = Dever::db('manage/group')->find($branch_id[0]);
$data['info']['branch_name'] = '指派人:'.$group['name'];
}
if (isset($branch_id[1]) && $branch_id[1]>0) {
$admin = Dever::db('manage/admin')->find($branch_id[1]);
$data['info']['branch_name'] = $data['info']['branch_name'].' / '.$admin['username'];
}
}
$data['info']['role_name'] = '';
$data['info']['idcard'] = '';
$user = Dever::db('work/user')->find(array('mobile'=>$data['info']['mobile']));
if ($user) {
$data['info']['user_name'] = $user['name'];
$data['info']['mobile'] = $user['mobile'];
if(isset($user['idcard']) && $user['idcard']) {
$data['info']['idcard'] = '身份证号码:'.$user['idcard'];
}
if ($user['agent_uid'] && $user['agent_uid']>0) {
$member = Dever::db('agent/member')->find($user['agent_uid']);
if ($member && $member['role']) {
$role = Dever::db('setting/role')->find($member['role']);
if ($role) {
$data['info']['role_name'] = '代理商角色:'.$role['name'];
}
}
}
}
$data['info']['cate_name'] = '';
$data['info']['product_name'] = '';
$data['info']['question_name'] ='';
if ($data['info']['cate_id']) {
$cate_id = explode(',',$data['info']['cate_id']);
if (isset($cate_id[0]) && $cate_id[0]) {
$cate = Dever::db('work/q_cate')->find($cate_id[0]);
if ($cate) {
$data['info']['cate_name'] = $cate['name'];
}
} else {
$cate = array();
}
if (isset($cate_id[1]) && $cate_id[1]) {
$question = Dever::db('work/question')->find($cate_id[1]);
if ($question) {
$product = Dever::db('work/product')->find($question['product_id']);
if ($product) {
$data['info']['product_name'] = $product['name'];
}
$data['info']['question_name'] = $question['name'];
}
} else {
$question = array();
}
if ($data['info']['cate_name'] && $data['info']['question_name']) {
$data['info']['cate_name'] = $data['info']['cate_name'].' / '.$data['info']['question_name'];
}
}
if ($data['info']['pic']) {
$data['info']['pic'] = explode(',',$data['info']['pic']);
}
$data['info_log'] = Dever::db('work/info_log')->getAll(array('info_id'=>$info_id));
foreach ($data['info_log'] as $k => $v) {
$data['info_log'][$k]['admin_group'] = '';
$data['info_log'][$k]['cdate'] = date('Y-m-d H:i:s',$v['cdate']);
$admin = Dever::db('manage/admin')->find($v['admin_id']);
$admin['group'] = explode(',',$admin['group']);
if (isset($admin['group']) && $admin['group']) {
foreach ($admin['group'] as $k1 => $v1) {
$admin_group = Dever::db('manage/group')->find(array('company_id'=>$data['info']['company_id'],'id'=>$v1));
if ($admin_group) {
$data['info_log'][$k]['admin_group'] = $admin_group['name'].' / '.$admin['username'];
}
}
}
$appoint = Dever::db('work/appoint')->find($v['appoint_id']);
if (isset($appoint) && $appoint) {
$data['info_log'][$k]['desc'] = $appoint['desc'];
$appoint_admin = explode(',',$appoint['admin_id']);
if (isset($appoint_admin[0])) {
$appoint_group = Dever::db('manage/group')->find($appoint_admin[0]);
} else {
$appoint_group = array();
}
if (isset($appoint_admin[1]) && $appoint_admin[1]) {
$appoint_ad = Dever::db('manage/admin')->find($appoint_admin[1]);
} else {
$appoint_ad = array();
}
if ($appoint_group && $appoint_ad) {
$data['info_log'][$k]['appoint_admin'] = '指派人:'. $appoint_group['name'].' / '.$appoint_ad['username'];
}
}
$data['info_log'][$k]['image'] = '';
if ($appoint['video']) {
$data['info_log'][$k]['video'] = $appoint['video'];
}
if ($appoint['pic']) {
$data['info_log'][$k]['pic'] = explode(',',$appoint['pic']);
}
}
$data['s_zhi'] = array();
$data['s_zhi']['cdate'] = date('Y-m-d H:i',time());
$data['zhi'] = Dever::db('work/appoint')->getAll(array('info_id'=>$info_id));
foreach ($data['zhi'] as $k => $v) {
$time = $v['cdate'] - $ztime;
$data['zhi'][$k]['time'] = floor($time%86400/3600).'小时'.floor($time%3600/60).'分钟'.floor($time%60).'秒';
$admin = explode(',',$v['admin_id']);
if (isset($admin[0]) && $admin[0]) {
$group = Dever::db('manage/group')->find($admin[0]);
} else {
$group = array();
}
if (isset($admin[1]) && $admin[1]) {
$adm = Dever::db('manage/admin')->find($admin[1]);
if ($adm) {
$adm_username = $adm['username'];
}
} else {
$adm_username = '';
}
if ($group && $admin) {
$data['zhi'][$k]['admin'] = $group['name'].' / '.$adm_username;
} else {
$data['zhi'][$k]['admin'] = '';
}
$data['zhi'][$k]['cdate'] = date('Y-m-d H:i',$v['cdate']);
$info_log = Dever::db('work/info_log')->find(array('appoint_id'=>$v['id']));
if ($info_log && $info_log['fdate']) {
$data['zhi'][$k]['finish'] = '完成关闭';
$data['zhi'][$k]['time'] ='';
} else {
if ($info_log && $info_log['cloce_date']) {
$data['zhi'][$k]['finish'] = '取消关闭';
$data['zhi'][$k]['time'] ='';
} else {
$data['zhi'][$k]['finish'] = '';
$data['zhi'][$k]['time'] = floor($time%86400/3600).'小时'.floor($time%3600/60).'分钟'.floor($time%60).'秒';
}
}
}
$data['jilu'] = array();
if (!$data['zhi']) {
if ($data['info']['fdate']) {
// $time = $data['info']['fdate']-$ztime;
$data['jilu']['time'] = date('Y-m-d H:i',$data['info']['fdate']);
if ($data['info']['status'] == 3) {
$data['jilu']['finish'] = '完成关闭';
} elseif ($data['info']['status'] == 4) {
$data['jilu']['finish'] = '取消关闭';
}
}
}
if ($data['info']['status'] < 3) {
$data['hui'] = Dever::url('project/database/update?project=work&table=appoint&search_option_info_id='.$info_id, 'manage');
}
return Dever::render('index', $data);
}
public function back_api(){
$mobile = Dever::input('mobile');
$data = array();
if ($mobile) {
if(!preg_match('/^1[3|5|6|7|8|9]\d{9}$/', $mobile)){
// Dever::alert('代理商手机号不正确');
return '代理商手机号不正确';
}
$user = Dever::db('work/user')->find(array('mobile'=>$mobile));
if (!$user) {
$data['user']['mobile'] = $mobile;
$data['user']['type'] = '无系统关联关系';
$data['user']['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
// print_R($data);die;
return Dever::render('back', $data);
}
if ($user){
$table = array();
$user['role_name'] = '';
$user['type'] = '';
if ($user['agent_uid'] && $user['agent_uid'] > 0) {
$member = Dever::db('agent/member')->find($user['agent_uid']);
if ($member['role']) {
$role = Dever::db('setting/role')->find($member['role']);
if ($role) {
$user['role_name'] = $role['name'];
}
}
$user['type'] = '代理商';
if ($user['option_uid'] && $user['option_uid']>0) {
$user['type'] = $user['type'].'
期权账户';
}
if ($user['passport_uid'] && $user['passport_uid']>0) {
$user['type'] = $user['type'].'
小程序';
}
$user['type'] = $user['type'].'
客服系统用户';
} else {
if ($user['option_uid'] && $user['option_uid']>0) {
$user['type'] = '期权账户';
if ($user['passport_uid'] && $user['passport_uid']>0) {
$user['type'] = $user['type'].'
小程序';
}
$user['type'] = $user['type'].'
客服系统用户';
} else {
if ($user['passport_uid'] && $user['passport_uid']>0) {
$user['type'] = '小程序';
$user['type'] = $user['type'].'
客服系统用户';
} else {
$user['type'] = '客服系统用户';
// $user['type'] = '无系统关联关系';
}
}
}
if ($user['agent_uid']) {
$user['order'] = Dever::url('project/database/list?project=agent&table=order&p=1&search_option_mid='.$user['agent_uid'], 'manage');
$user['agent'] = Dever::url('project/database/list?project=agent&table=member_area&mid='.$user['agent_uid'].'&page_type=1&search_auth=1&page_type=1&jump=19','manage');
$user['soft'] = Dever::url('project/database/list?project=agent&table=soft_cash&search_option_mid='.$user['agent_uid'], 'manage');
}
if ($user['option_uid']) {
$user['option'] = Dever::url('project/database/list?project=option&table=member&search_option_id='.$user['option_uid'], 'manage');
}
$user['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
$data['user'] = $user;
$data['info'] = Dever::db('work/info')->getHAll(array('mobile'=>$mobile));
$config = Dever::db('work/info')->config['config_status'];
foreach($data['info'] as $k => $v) {
$data['info'][$k]['cdate'] = date('Y-m-d H:i',$v['cdate']);
$data['info'][$k]['fdate'] = date('Y-m-d H:i',$v['fdate']);
$cate = Dever::db('work/q_cate')->find(array('id'=>$v['cate_id']));
$data['info'][$k]['cate_name'] = $cate['name'];
$you = Dever::db('work/priority')->find(array('id'=>$v['priority_id']));
$data['info'][$k]['you'] = $you['name'];
$v['branch_id'] = explode(',',$v['branch_id']);
if (isset($v['branch_id'][0]) && $v['branch_id'][0]>0){
$group = Dever::db('manage/group')->find(array('id'=>$v['branch_id'][0],'company_id'=>$v['company_id']));
$data['info'][$k]['branch'] = $group['name'];
}
if (isset($v['branch_id'][1]) && $v['branch_id'][1]>0){
$admin = Dever::db('manage/admin')->find(array('id'=>$v['branch_id'][1]));
$data['info'][$k]['branch'] = $group['name'].'/'.$admin['username'];
}
$data['info'][$k]['status'] = Dever::status($config,$v['status']);
$data['info'][$k]['url'] = Dever::url('lib/appoint.show&id='.$v['id'],'work');
if ($v['status']<3) {
$data['info'][$k]['zhipai'] = Dever::url('project/database/update?project=work&table=appoint&search_option_info_id='.$v['id'], 'manage');
} else {
$data['info'][$k]['zhipai'] = '';
}
}
}
$data['page'] = Dever::page("current");
}
return Dever::render('back', $data);
}
public function callback_api(){
$mobile = Dever::input('phone');
$type = Dever::input('type');
$data = array();
if ($mobile) {
$state = 2;
if(!preg_match('/^1[3|5|6|7|8|9]\d{9}$/', $mobile)){
// Dever::alert('代理商手机号不正确');
$state = 1;
if ($type == 1) {
return '手机号不正确';
}
}
if ($state == 1) {
$data = array();
return Dever::render('callback', $data);
}
$data['user']['title'] = '电话号码';
$data['user']['mobile'] = $mobile;
$data['user']['username'] = $mobile;
$member = Dever::db('agent/member')->find(array('mobile'=>$mobile));
$option = Dever::db('option/member')->find(array('mobile'=>$mobile));
$passport = Dever::db('passport/user')->find(array('mobile'=>$mobile));
$work = Dever::db('work/user')->find(array('mobile'=>$mobile));
$user = array();
$data['user']['order'] = '';
$data['user']['agent'] = '';
$data['user']['soft'] = '';
$data['user']['option'] = '';
$user['role'] = '';
if (!$member && !$option && !$passport && !$work) {
$user['name'] = $mobile;
$user['role'] = '';
$user['type'][] = '无系统关联关系';
} else {
if ($work) {
$user['name'] = $work['name'].'
'.$mobile;
$user['type'][] = '客服系统用户';
}
if ($option) {
$user['name'] = $option['name'].'
'.$mobile;
$user['type'][] = '期权账户';
$data['user']['option'] = Dever::url('project/database/list?project=option&table=member&search_option_id='.$option['id'], 'manage');
$data['user']['option'] = Dever::url('home?link=' . urlencode( $data['user']['option']) . '&group=8&parent_menu=menu_279&menu=menu_279.menu_291' , 'manage');
}
if ($passport) {
$user['name'] = $passport['username'].'
'.$mobile;
$user['type'][] = '小程序用户';
}
if ($member) {
if ($member['role']) {
$role = Dever::db('setting/role')->find($member['role']);
if ($role['name']) {
$role_name = '
'.$role['name'];
}
$user['role'] = '/角色';
} else {
$role_name = '';
$user['role'] = '';
}
$user['name'] = $member['name'].'
'.$mobile.$role_name;
$user['type'][] = '代理商';
$data['user']['order'] = Dever::url('project/database/list?project=agent&table=order&p=1&search_option_mid='.$member['id'], 'manage');
$data['user']['order'] = Dever::url('home?link=' . urlencode($data['user']['order']) . '&group=7&parent_menu=menu_240&menu=agent.order', 'manage');
$data['user']['agent'] = Dever::url('project/database/list?project=agent&table=member_area&mid='.$member['id'].'&page_type=1&search_auth=1&page_type=1&jump=19','manage');
$data['user']['agent'] = Dever::url('home?link=' . urlencode($data['user']['agent']) . '&group=7&parent_menu=menu_240&menu=agent.member' , 'manage');
$data['user']['soft'] = Dever::url('project/database/list?project=agent&table=soft_cash&search_option_mid='.$member['id'], 'manage');
$data['user']['soft'] = Dever::url('home?link=' . urlencode($data['user']['soft']) . '&group=7&parent_menu=menu_240&menu=agent.soft_cash' , 'manage');
}
$data['user']['title'] = '名称/电话号码' . $user['role'];
}
$data['user']['type'] = implode('
', $user['type']);
$data['user']['username'] = $user['name'];
$data['user']['work'] = Dever::url('project/database/update?project=work&table=info&menu=work&search_option_mobile='.$mobile, 'manage');
$data['user']['work'] = Dever::url('home?link=' . urlencode($data['user']['work']) . '&group=10&parent_menu=work&menu=work.add' , 'manage');
$data['user']['work_list'] = Dever::url('project/database/list&project=work&table=info&menu=work&search_option_state=1&search_api_mobile='.$mobile, 'manage');
$data['user']['work_list'] = Dever::url('home?link=' . urlencode($data['user']['work_list']) . '&group=10&parent_menu=work&menu=work.info' , 'manage');
return Dever::render('callback', $data);
}else {
$data = array();
return Dever::render('callback', $data);
}
}
}