提交 3d172487 authored 作者: 窦斌's avatar 窦斌

edit

上级 08ae72ef
...@@ -273,4 +273,15 @@ class OrderListController extends Controller ...@@ -273,4 +273,15 @@ class OrderListController extends Controller
$return_data = OrderListService::getService($request->all()); $return_data = OrderListService::getService($request->all());
return response()->json($return_data); return response()->json($return_data);
} }
//指派门店
public function sendAgain ( Request $request ){
// 验证数据
$error_message = $this->dataValidator->sendAgainValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'Data'=>[$error_message]]);
}
$return_data = OrderListService::sendAgain($request->all(),$request->ip());
return response()->json($return_data);
}
} }
...@@ -24,7 +24,7 @@ class SynOrderRejectedController extends BaseController ...@@ -24,7 +24,7 @@ class SynOrderRejectedController extends BaseController
public function rejectedOrder ( ){ public function rejectedOrder ( ){
if('08:30:00'<date("H:i:s") && '18:00:00'>date("H:i:s")){ if('08:30:00'<date("H:i:s") && '18:00:00'>date("H:i:s")){
$time_start = date("Y-m-d H:i:s", strtotime(" -15 minute" . date("Y-m-d H:i:s"))); $time_start = date("Y-m-d H:i:s", strtotime(" -15 minute" . date("Y-m-d H:i:s")));
$list = OrderList::where('stauas', '20')->where('ol_distype', '>', 1)->whereIn('company_id', [12, 14])->where('create_time', '<', $time_start)->select('id', 'order_num', 'sys_num', 'serial_number')->limit(10)->get(); $list = OrderList::where('stauas', '20')->where('ol_distype', '>', 1)->where('ol_distype', 2)->whereIn('company_id', [12, 14])->where('create_time', '<', $time_start)->select('id', 'order_num', 'sys_num', 'serial_number')->limit(10)->get();
$list = CommonService::dataToArray($list); $list = CommonService::dataToArray($list);
$id = []; $id = [];
$num = 0; $num = 0;
......
...@@ -50,41 +50,41 @@ class AotuorderController extends BaseController ...@@ -50,41 +50,41 @@ class AotuorderController extends BaseController
} }
//判定用户信息是否重复 //判定用户信息是否重复
$user = DB::table("user")->where('id',$order['new_customer_id'])->first(); $user = DB::table("user")->where('id',$order['new_customer_id'])->first();
$user_phone = DB::table("user")->where('shr_name',$user['shr_name'])->where('shr_sheng',$user['shr_sheng'])->where('shr_shi',$user['shr_shi'])->where('shr_xian',$user['shr_xian'])->select('id')->first(); // $user_phone = DB::table("user")->where('shr_name',$user['shr_name'])->where('shr_sheng',$user['shr_sheng'])->where('shr_shi',$user['shr_shi'])->where('shr_xian',$user['shr_xian'])->select('id')->first();
$phone = array_column($user_phone,'id'); // $phone = array_column($user_phone,'id');
$order_num = DB::table("orders")->where('new_customer_id','in', implode(',',$phone))->count(); // $order_num = DB::table("orders")->where('new_customer_id','in', implode(',',$phone))->count();
if($order_num>1){ // if($order_num>1){
$this->manual($sys_num); // $this->manual($sys_num);
$this->insertingLog("系统派单,",$sys_num,'重复手机号暂停派单',"订单管理",$ip,$admin_acc);//日志 // $this->insertingLog("系统派单,",$sys_num,'重复手机号暂停派单',"订单管理",$ip,$admin_acc);//日志
return true; // return true;
foreach( $user_phone as $k => $v ) // foreach( $user_phone as $k => $v )
{ // {
$phone[]=$v['id']; // $phone[]=$v['id'];
} // }
$ser_id = DB::table('orders as a')->leftJoin('order_msg as b', 'a.sys_num', '=', 'b.sys_num') // $ser_id = DB::table('orders as a')->leftJoin('order_msg as b', 'a.sys_num', '=', 'b.sys_num')
->where('new_customer_id','in',implode(',',$phone))->where('ser_id','<>',0) // ->where('new_customer_id','in',implode(',',$phone))->where('ser_id','<>',0)
->where('goods_brand',$goods_brand[0]['goods_brand']) // ->where('goods_brand',$goods_brand[0]['goods_brand'])
->value('ser_id'); // ->value('ser_id');
if($ser_id){ // if($ser_id){
$enable =DB::table("admin")->where('id',$ser_id)->value('enable'); // $enable =DB::table("admin")->where('id',$ser_id)->value('enable');
if($enable!=1){ // if($enable!=1){
$this->insertingLog("系统派单,",$sys_num,"重复手机号派单,门店已停用","订单管理",$ip,$admin_acc);//日志 // $this->insertingLog("系统派单,",$sys_num,"重复手机号派单,门店已停用","订单管理",$ip,$admin_acc);//日志
}else{ // }else{
$data=$this->addWorkOrder($order,$sys_num,$ser_id,$order['new_customer_id'],$areid,$goodid,$admin_acc,$admin_id); // $data=$this->addWorkOrder($order,$sys_num,$ser_id,$order['new_customer_id'],$areid,$goodid,$admin_acc,$admin_id);
if($data['code']=='1'){ // if($data['code']=='1'){
$this->insertingLog("系统派单,",$sys_num,'重复手机号派单成功',"订单管理",$ip,$admin_acc);//日志 // $this->insertingLog("系统派单,",$sys_num,'重复手机号派单成功',"订单管理",$ip,$admin_acc);//日志
return true; // return true;
}else{ // }else{
$this->insertingLog("系统派单,",$sys_num,"重复手机号派单,".$data['msg'],"订单管理",$ip,$admin_acc);//日志 // $this->insertingLog("系统派单,",$sys_num,"重复手机号派单,".$data['msg'],"订单管理",$ip,$admin_acc);//日志
return true; // return true;
} // }
} // }
}else{ // }else{
$this->manual($sys_num); // $this->manual($sys_num);
$this->insertingLog("系统派单,",$sys_num,'重复手机号派单未匹配门店',"订单管理",$ip,$admin_acc);//日志 // $this->insertingLog("系统派单,",$sys_num,'重复手机号派单未匹配门店',"订单管理",$ip,$admin_acc);//日志
return true; // return true;
} // }
} // }
$goodid=DB::table("goods_brand")->where('brand_name',$goods_brand[0]['goods_brand'])->where('company_id',$order['company_id'])->value("id"); $goodid=DB::table("goods_brand")->where('brand_name',$goods_brand[0]['goods_brand'])->where('company_id',$order['company_id'])->value("id");
if(strstr($user['shr_sheng'],"市")){ if(strstr($user['shr_sheng'],"市")){
//$sheng=rtrim($user['shr_sheng'],'市'); //$sheng=rtrim($user['shr_sheng'],'市');
...@@ -143,27 +143,32 @@ class AotuorderController extends BaseController ...@@ -143,27 +143,32 @@ class AotuorderController extends BaseController
$data['code']='2'; $data['code']='2';
if($data['code']=='1'){ if($data['code']=='1'){
}else{ }else{
if($sheng == '北京' && $shi=='大兴'){
$where = ' and (admin_groupnew=3 or (admin_groupnew=2 and company_type=2))';
}else{
$where = ' and admin_groupnew=2 and company_type=1 and company_id='.$order['company_id'];
}
if(empty($or_ser_id)) { if(empty($or_ser_id)) {
if ($xian == 1) { if ($xian == 1) {
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("find_in_set('" . $dress['are_id'] . "',bs_areid) and bs_branid='" . $goodid . "' and bs_status='1' and enable=1")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("find_in_set('" . $dress['are_id'] . "',bs_areid) and bs_branid='" . $goodid . "' and bs_status='1' and enable=1".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
if (!$ser) { if (!$ser) {
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
$xian = 2; $xian = 2;
} }
} else { } else {
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
} }
}else{ }else{
if ($xian == 1) { if ($xian == 1) {
// CommonService::startmysql(); // CommonService::startmysql();
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("find_in_set('" . $dress['are_id'] . "',bs_areid) and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("find_in_set('" . $dress['are_id'] . "',bs_areid) and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
// CommonService::addLog('自动拒单', CommonService::showmysql(), '','AotuorderController'); // CommonService::addLog('自动拒单', CommonService::showmysql(), '','AotuorderController');
if (!$ser) { if (!$ser) {
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
$xian = 2; $xian = 2;
} }
} else { } else {
$ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")")->where('company_id',$order['company_id'])->select('bservisnew.*')->get()->toArray(); $ser = Bserviss::leftJoin('admin','admin.id','=','bservisnew.bs_serid')->whereRaw("bs_sid='" . $dress['are_sid'] . "' and bs_branid='" . $goodid . "' and bs_status='1' and enable=1 and bs_serid not in (".implode(',', $or_ser_id).")".$where)->select('bservisnew.*','admin_groupnew')->get()->toArray();
} }
} }
if($ser){ if($ser){
...@@ -173,7 +178,7 @@ class AotuorderController extends BaseController ...@@ -173,7 +178,7 @@ class AotuorderController extends BaseController
$admin_id = array_column($ser,'bs_serid'); $admin_id = array_column($ser,'bs_serid');
$list= DB::table("admin")->where('enable',1) $list= DB::table("admin")->where('enable',1)
->whereIn('id',$admin_id) ->whereIn('id',$admin_id)
->select("id","company_name","owner","children_id")->get()->toArray(); ->select("id","company_name","owner","children_id",'admin_groupnew')->get()->toArray();
if($list){ if($list){
$admin_ids = array_column($list,'id'); $admin_ids = array_column($list,'id');
$admin_ids=implode(',',$admin_ids); $admin_ids=implode(',',$admin_ids);
...@@ -198,12 +203,17 @@ class AotuorderController extends BaseController ...@@ -198,12 +203,17 @@ class AotuorderController extends BaseController
$res = $this->juli($start,$end); $res = $this->juli($start,$end);
} }
foreach( $list as $ki => $vi ){ foreach( $list as $ki => $vi ){
if($res[$ki]['code']=='3'){ if($vi['admin_groupnew']==3){
$num[]=10000; $num[]=10000;
$list[$ki]['juli'] = '10000'; $list[$ki]['juli'] = '10000';
}else{ }else {
$num[]=round($res[$ki]['distance']/1000,2); if ($res[$ki]['code'] == '3') {
$list[$ki]['juli'] = round($res[$ki]['distance']/1000,2); $num[] = 10000;
$list[$ki]['juli'] = '10000';
} else {
$num[] = round($res[$ki]['distance'] / 1000, 2);
$list[$ki]['juli'] = round($res[$ki]['distance'] / 1000, 2);
}
} }
} }
array_multisort($num, SORT_NUMERIC ,SORT_ASC, $list); array_multisort($num, SORT_NUMERIC ,SORT_ASC, $list);
...@@ -227,14 +237,16 @@ class AotuorderController extends BaseController ...@@ -227,14 +237,16 @@ class AotuorderController extends BaseController
if($juli == 1){ if($juli == 1){
$time=date("Y-m-d H:i:s"); $time=date("Y-m-d H:i:s");
foreach( $ser as $ks => $vs ){ foreach( $ser as $ks => $vs ){
//最小派单量 if($vs['admin_groupnew']==2) {
$bs=$vs['bs_num']/$vs['bs_min']; //最小派单量
$vs['bs']=$bs; $bs = $vs['bs_num'] / $vs['bs_min'];
if($bs<1){ $vs['bs'] = $bs;
$min[]=$vs; if ($bs < 1) {
$lasttime[]=strtotime($vs['bs_lastime']); $min[] = $vs;
$minnum[]=$vs['bs_min']; $lasttime[] = strtotime($vs['bs_lastime']);
$minbl[]=$bs; $minnum[] = $vs['bs_min'];
$minbl[] = $bs;
}
} }
} }
if($min){ if($min){
...@@ -243,13 +255,15 @@ class AotuorderController extends BaseController ...@@ -243,13 +255,15 @@ class AotuorderController extends BaseController
$this->insertingLog("系统派单,",$sys_num,"订单in".$datas['msg'],"订单管理",$ip,$admin_acc);//日志 $this->insertingLog("系统派单,",$sys_num,"订单in".$datas['msg'],"订单管理",$ip,$admin_acc);//日志
}else{ }else{
foreach( $ser as $ks1 => $vs1 ){ foreach( $ser as $ks1 => $vs1 ){
$bs1=$vs1['bs_max']*$vs1['bs_satisfa']/100; if($vs1['admin_groupnew']==2) {
$vs1['satisfa']=$bs1; $bs1 = $vs1['bs_max'] * $vs1['bs_satisfa'] / 100;
if($bs1>$vs1['bs_num']){ $vs1['satisfa'] = $bs1;
$vs1['bl']=$vs1['bs_num']/$bs1; if ($bs1 > $vs1['bs_num']) {
$sati[]=$vs1; $vs1['bl'] = $vs1['bs_num'] / $bs1;
$satisfa[]=$bs1; $sati[] = $vs1;
$satibl[]=$vs1['bs_num']/$bs1; $satisfa[] = $bs1;
$satibl[] = $vs1['bs_num'] / $bs1;
}
} }
} }
if($sati){ if($sati){
...@@ -258,12 +272,14 @@ class AotuorderController extends BaseController ...@@ -258,12 +272,14 @@ class AotuorderController extends BaseController
$this->insertingLog("系统派单,",$sys_num,"订单sa".$datas['msg'],"订单管理",$ip,$admin_acc);//日志 $this->insertingLog("系统派单,",$sys_num,"订单sa".$datas['msg'],"订单管理",$ip,$admin_acc);//日志
}else{ }else{
foreach( $ser as $ks2 => $vs2 ){ foreach( $ser as $ks2 => $vs2 ){
$bs2=$vs2['bs_num']/$vs2['bs_max']; if($vs2['admin_groupnew']==2) {
$vs2['bs2']=$bs2; $bs2 = $vs2['bs_num'] / $vs2['bs_max'];
if($bs2<1){ $vs2['bs2'] = $bs2;
$max[]=$vs2; if ($bs2 < 1) {
$maxnum[]=$vs2['bs_max']; $max[] = $vs2;
$maxbl[]=$bs2; $maxnum[] = $vs2['bs_max'];
$maxbl[] = $bs2;
}
} }
} }
if($max){ if($max){
...@@ -271,15 +287,30 @@ class AotuorderController extends BaseController ...@@ -271,15 +287,30 @@ class AotuorderController extends BaseController
$datas=$this->addWorkOrder($order,$sys_num,$max[0]['bs_serid'],$order['new_customer_id'],$max[0]['bs_id'],$goodid,$admin_acc,$admin_id); $datas=$this->addWorkOrder($order,$sys_num,$max[0]['bs_serid'],$order['new_customer_id'],$max[0]['bs_id'],$goodid,$admin_acc,$admin_id);
$this->insertingLog("系统派单,",$sys_num,"订单ax".$datas['msg'],"订单管理",$ip,$admin_acc);//日志 $this->insertingLog("系统派单,",$sys_num,"订单ax".$datas['msg'],"订单管理",$ip,$admin_acc);//日志
}else{ }else{
$fla = 1;
foreach( $ser as $ks3 => $vs3 ){ foreach( $ser as $ks3 => $vs3 ){
$bs3=$vs3['bs_num']-$vs3['bs_max']; if($vs3['admin_groupnew']==2) {
$vs3['bs3']=$bs3; $bs3 = $vs3['bs_num'] - $vs3['bs_max'];
$maxs[]=$vs3; $vs3['bs3'] = $bs3;
$maxsnum[]=$bs3; $maxs[] = $vs3;
$maxsmax[]=$vs3['bs_max']; $maxsnum[] = $bs3;
$maxsmax[] = $vs3['bs_max'];
$fla = 2;
}else{
$bs4 = $vs3['bs_num'] - $vs3['bs_max'];
$vs3['bs3'] = $bs4;
$maxs4[] = $vs3;
$maxs4num[] = $bs3;
$maxs4max[] = $vs3['bs_max'];
}
}
if($fla == 2) {
array_multisort($maxsnum, SORT_NUMERIC, SORT_ASC, $maxsmax, SORT_NUMERIC, SORT_DESC, $maxs);
$datas = $this->addWorkOrder($order, $sys_num, $maxs[0]['bs_serid'], $order['new_customer_id'], $maxs[0]['bs_id'], $goodid, $admin_acc, $admin_id);
}else{
array_multisort($maxs4num, SORT_NUMERIC, SORT_ASC, $maxs4max, SORT_NUMERIC, SORT_DESC, $maxs4);
$datas = $this->addWorkOrder($order, $sys_num, $maxs4[0]['bs_serid'], $order['new_customer_id'], $maxs4[0]['bs_id'], $goodid, $admin_acc, $admin_id);
} }
array_multisort($maxsnum, SORT_NUMERIC ,SORT_ASC,$maxsmax, SORT_NUMERIC ,SORT_DESC, $maxs);
$datas=$this->addWorkOrder($order,$sys_num,$maxs[0]['bs_serid'],$order['new_customer_id'],$maxs[0]['bs_id'],$goodid,$admin_acc,$admin_id);
$this->insertingLog("系统派单,",$sys_num,"订单p".$datas['msg'],"订单管理",$ip,$admin_acc);//日志 $this->insertingLog("系统派单,",$sys_num,"订单p".$datas['msg'],"订单管理",$ip,$admin_acc);//日志
} }
} }
...@@ -380,9 +411,10 @@ class AotuorderController extends BaseController ...@@ -380,9 +411,10 @@ class AotuorderController extends BaseController
$get['admin_id']=$admin_id??'1133';//创建人id $get['admin_id']=$admin_id??'1133';//创建人id
$get['creater']=$admin_acc??'系统录入';//创建人 $get['creater']=$admin_acc??'系统录入';//创建人
$get['customer_id']=$user_id;//用户id $get['customer_id']=$user_id;//用户id
$agency_id = DB::table('admin') $ser_data = DB::table('admin')
->where('id',$ser_id) ->where('id',$ser_id)
->value('company_id'); ->select('company_id','admin_groupnew')->first();
$agency_id = $ser_data['company_id'];
$get['agency_id'] = $agency_id;//代理商id(运营商) $get['agency_id'] = $agency_id;//代理商id(运营商)
$get['customer_phone']=$shr_phone['shr_phone'];//客户手机号 $get['customer_phone']=$shr_phone['shr_phone'];//客户手机号
$get['orli_type']=$orderinfo['order_type'];//订单类型 $get['orli_type']=$orderinfo['order_type'];//订单类型
...@@ -423,6 +455,7 @@ class AotuorderController extends BaseController ...@@ -423,6 +455,7 @@ class AotuorderController extends BaseController
$set['all_price']=$price?$price:'0';//总金额 $set['all_price']=$price?$price:'0';//总金额
$set['sett_status']="1";//供货价 $set['sett_status']="1";//供货价
$set['list_service_type']=30; $set['list_service_type']=30;
$set['agency_id']=$get['agency_id'];//代理商id(运营商)
$set['customer_id']=$user_id;//用户id $set['customer_id']=$user_id;//用户id
$set['sel_type']=$orderinfo['order_type'];//订单类型 $set['sel_type']=$orderinfo['order_type'];//订单类型
$sem_slid=$settlement_list->insertGetid($set);//骆驼派单即等于接单 $sem_slid=$settlement_list->insertGetid($set);//骆驼派单即等于接单
...@@ -497,7 +530,7 @@ class AotuorderController extends BaseController ...@@ -497,7 +530,7 @@ class AotuorderController extends BaseController
} }
$pop['platform_number'] = $orderinfo['order_num']; $pop['platform_number'] = $orderinfo['order_num'];
$pop['ord_order_number'] = $number; $pop['ord_order_number'] = $number;
$pop['ord_clent_id'] = $_POST['user_id']; $pop['ord_clent_id'] = $user_id;
$pop['order_num'] = $orderinfo['order_num']; $pop['order_num'] = $orderinfo['order_num'];
$pop['orcl_name'] = $shr_phone['shr_name']; $pop['orcl_name'] = $shr_phone['shr_name'];
$pop['orcl_phone'] = $shr_phone['shr_phone']; $pop['orcl_phone'] = $shr_phone['shr_phone'];
...@@ -537,7 +570,12 @@ class AotuorderController extends BaseController ...@@ -537,7 +570,12 @@ class AotuorderController extends BaseController
/***************半径推送******************************/ /***************半径推送******************************/
$get['company_id'] = $orderinfo['company_id'];//支付方式 $get['company_id'] = $orderinfo['company_id'];//支付方式
$get['ol_distype'] = 2;//系统派单类型 if($ser_data['admin_groupnew']==3){
$get['ol_distype'] = 4;//系统派单类型
}else{
$get['ol_distype'] = 2;//系统派单类型
}
$post['agency_id'] = $agency_id;//代理商id(运营商)
$returnOrderList=DB::table('order_list')->insert($get); $returnOrderList=DB::table('order_list')->insert($get);
$arr['company_id'] = $orderinfo['company_id']; $arr['company_id'] = $orderinfo['company_id'];
$returnMan=DB::table('management')->insert($arr); $returnMan=DB::table('management')->insert($arr);
...@@ -585,8 +623,13 @@ class AotuorderController extends BaseController ...@@ -585,8 +623,13 @@ class AotuorderController extends BaseController
$visit_data['ov_lasttime']=date("Y-m-d H:i:s",intval(time())); $visit_data['ov_lasttime']=date("Y-m-d H:i:s",intval(time()));
$visit_data['company_id'] = $orderinfo['company_id']; $visit_data['company_id'] = $orderinfo['company_id'];
DB::table('order_visit')->insert($visit_data); DB::table('order_visit')->insert($visit_data);
if($ser_data['admin_groupnew']==3){
$post['distype'] = 4;//系统派单类型
}else{
$post['distype'] = 2;//系统派单类型
}
} }
$post['distype']='2'; // $post['distype']='2';
$returnOrder = DB::table('orders')->where('sys_num',$sys_num)->update($post); $returnOrder = DB::table('orders')->where('sys_num',$sys_num)->update($post);
if($returnOrder && $returnOrderList && $returnMan){ if($returnOrder && $returnOrderList && $returnMan){
$file_path = "./url.txt"; $file_path = "./url.txt";
......
...@@ -3038,7 +3038,21 @@ class OrderListController extends BaseController ...@@ -3038,7 +3038,21 @@ class OrderListController extends BaseController
} }
} }
/**|---------------------------------------------------------------------------------
* @name 指派门店
* @param string id 服务工单id
* @param string ser_id 改派的服务门店
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/19 15:15
* |---------------------------------------------------------------------------------
*/
public function sendAgain ( Request $request ){
if (!$request->filled('id')||!$request->filled('ser_id')) {
return $this->error('参数错误无工单ID或服务商id', ErrorInc::FAILED_PARAM, []);exit;
}
$return = OrderListService::sendAgain($request->all(),$request->ip(),$request->get('session_token'));
return $this->error($return['ErrorMessage'], $return['ErrorCode'], $return['Data']);
}
private function getSign($params,$sec) { private function getSign($params,$sec) {
if ($params != null) { // 所有请求参数按照字母先后顺序排序 if ($params != null) { // 所有请求参数按照字母先后顺序排序
ksort($params); ksort($params);
......
...@@ -237,9 +237,9 @@ class LoginController extends BaseController ...@@ -237,9 +237,9 @@ class LoginController extends BaseController
$result['com_parent_id'] = $com_parent_id.",".$result['company_id']; $result['com_parent_id'] = $com_parent_id.",".$result['company_id'];
$result['com_type'] = $company['com_type']; $result['com_type'] = $company['com_type'];
if($company['com_type']==2){ if($company['com_type']==2){
$company['search_id'] = Admin::where('company_id',$result['company_id'])->where("admin_groupnew",3)->value('id'); $result['search_id'] = Admin::where('company_id',$result['company_id'])->where("admin_groupnew",3)->value('id');
}else{ }else{
$company['search_id']=$result['id']; $result['search_id']=$result['id'];
} }
$function = Functions::where('function_type',3)->select('function_id','function_model','function_action')->get()->toArray(); $function = Functions::where('function_type',3)->select('function_id','function_model','function_action')->get()->toArray();
$list = []; $list = [];
......
...@@ -375,6 +375,28 @@ class OrderListValidator extends FormRequest ...@@ -375,6 +375,28 @@ class OrderListValidator extends FormRequest
'id' => 'required|integer|min:1', 'id' => 'required|integer|min:1',
], $messages); ], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 指派门店
public function sendAgainValidator($data)
{
// 自定义错误消息
$messages = [
'ser_id.required' => '请输入服务门店id',
'ser_id.integer' => '参数错误',
'id.required' => '请输入服务工单id',
'id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'ser_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功 // 判断数据验证是否成功
if ($validator->fails()) { if ($validator->fails()) {
return $validator->errors(); return $validator->errors();
......
...@@ -26,7 +26,7 @@ use App\Models\{Admin, ...@@ -26,7 +26,7 @@ use App\Models\{Admin,
SettlementMoney, SettlementMoney,
SubmitPlease, SubmitPlease,
User}; User};
use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService, DealPicService}; use App\Services\{BmmcService, Api\OrderManage\OrdersVehicleService, CommonService, DealPicService, OrderService};
use OSS\OssClient; use OSS\OssClient;
use OSS\Core\OssException; use OSS\Core\OssException;
class OrderListService extends Model class OrderListService extends Model
...@@ -136,16 +136,24 @@ class OrderListService extends Model ...@@ -136,16 +136,24 @@ class OrderListService extends Model
if($value['locklist_type'] != 2){ if($value['locklist_type'] != 2){
if(in_array($value['stauas'],[10,20])){ if(in_array($value['stauas'],[10,20])){
if($session['user_type']==3 && $value['ser_id']!=$session['admin_id']){ if($session['user_type']==3 && $value['ser_id']!=$session['admin_id']){
}else { }else {
if ($session['user_type'] != 1) { if ($session['user_type'] != 1) {
$list_items[$key]['button'] = [['action' => 'receiving', 'name' => '接单'], ['action' => 'refuse', 'name' => '拒单']]; $list_items[$key]['button'][] = ['action' => 'receiving', 'name' => '接单'];
$list_items[$key]['button'][] = ['action' => 'refuse', 'name' => '拒单'];
}
if($session['user_type']==3 && $value['ser_id']==$session['admin_id']){
$list_items[$key]['button'][] = ['action'=>'sendAgain','name'=>'指派门店'];
} }
} }
$list_items[$key]['button'][] = ['action'=>'copyInfo','name'=>'复制信息'];
}elseif($value['stauas'] == 30){ }elseif($value['stauas'] == 30){
if($session['user_type']==3 && $value['ser_id']!=$session['admin_id']){ if($session['user_type']==3 && $value['ser_id']!=$session['admin_id']){
$list_items[$key]['button'][] = ['action'=>'copyInfo','name'=>'复制信息']; $list_items[$key]['button'][] = ['action'=>'copyInfo','name'=>'复制信息'];
}else { }else {
if($session['user_type']==3 && $value['ser_id']==$session['admin_id']){
$list_items[$key]['button'][] = ['action'=>'sendAgain','name'=>'指派门店'];
}
if ($request['stauas'] == 2) { if ($request['stauas'] == 2) {
if ($session['user_type'] != 1) { if ($session['user_type'] != 1) {
$list_items[$key]['button'][] = ['action' => 'transferOfOrder', 'name' => '改派']; $list_items[$key]['button'][] = ['action' => 'transferOfOrder', 'name' => '改派'];
...@@ -752,6 +760,7 @@ class OrderListService extends Model ...@@ -752,6 +760,7 @@ class OrderListService extends Model
->first(); ->first();
if($orderListArr) { if($orderListArr) {
$data['id'] = $orderListArr['id'];//订单id $data['id'] = $orderListArr['id'];//订单id
$data['sys_num'] = $orderListArr['sys_num'];//订单id
$data['order_num'] = $orderListArr['order_num'];//订单单号 $data['order_num'] = $orderListArr['order_num'];//订单单号
$data['serial_number'] = $orderListArr['serial_number'];//工单号 $data['serial_number'] = $orderListArr['serial_number'];//工单号
$data['day_time'] = $orderListArr['day_time'];//预约时间 $data['day_time'] = $orderListArr['day_time'];//预约时间
...@@ -806,38 +815,54 @@ class OrderListService extends Model ...@@ -806,38 +815,54 @@ class OrderListService extends Model
} }
if($orderListArr['locklist_type'] != 2){ if($orderListArr['locklist_type'] != 2){
if(in_array($orderListArr['stauas'],[10,20])){ if(in_array($orderListArr['stauas'],[10,20])){
$data['button'] = [['action'=>'receiving','name'=>'接单'],['action'=>'refuse','name'=>'拒单'],['action'=>'copyInfo','name'=>'复制信息']]; if($session['user_type']==3 && $orderListArr['ser_id']!=$session['admin_id']){
}elseif($orderListArr['stauas'] == 30){ }else {
if($request['stauas']==2) { $data['button'][] = ['action' => 'receiving', 'name' => '接单'];
if ($session['user_type'] != 1) { $data['button'][] = ['action' => 'refuse', 'name' => '拒单'];
$data['button'][] = ['action' => 'transferOfOrder', 'name' => '改派']; if($session['user_type']==3 && $orderListArr['ser_id']==$session['admin_id']){
$data['button'][] = ['action'=>'sendAgain','name'=>'指派门店'];
} }
$data['button'][] = ['action' => 'copyInfo', 'name' => '复制信息'];
} }
if($request['stauas']==3) { }elseif($orderListArr['stauas'] == 30){
if (isset($installLine)) { if($session['user_type']==3 && $orderListArr['ser_id']!=$session['admin_id']){
switch ($installLine) { $data['button'][] = ['action'=>'copyInfo','name'=>'复制信息'];
case 2:
$data['button'][] = ['action' => 'lineStart', 'name' => '出发']; }else {
break; if ($request['stauas'] == 2) {
case 3: if ($session['user_type'] != 1) {
$data['button'][] = ['action' => 'lineArrive', 'name' => '抵达']; $data['button'][] = ['action' => 'transferOfOrder', 'name' => '改派'];
break; }
case 4: }
$data['button'][] = ['action' => 'startInstall', 'name' => '开始安装']; if ($request['stauas'] == 3) {
break; if (isset($installLine)) {
case 5: switch ($installLine) {
$data['button'][] = ['action' => 'installFeedback', 'name' => '申请完成']; case 2:
break; $data['button'][] = ['action' => 'lineStart', 'name' => '出发'];
default: break;
; case 3:
break; $data['button'][] = ['action' => 'lineArrive', 'name' => '抵达'];
break;
case 4:
$data['button'][] = ['action' => 'startInstall', 'name' => '开始安装'];
break;
case 5:
$data['button'][] = ['action' => 'installFeedback', 'name' => '申请完成'];
break;
default:
;
break;
}
$data['button'][] = ['action' => 'contact', 'name' => '修改预约'];
} else {
$data['button'][] = ['action' => 'contact', 'name' => '预约时间'];
} }
$data['button'][] = ['action'=>'contact','name'=>'修改预约'];
}else{
$data['button'][] = ['action'=>'contact','name'=>'预约时间'];
} }
if($session['user_type']==3 && $orderListArr['ser_id']==$session['admin_id']){
$data['button'][] = ['action'=>'sendAgain','name'=>'指派门店'];
}
$data['button'][] = ['action' => 'copyInfo', 'name' => '复制信息'];
} }
$data['button'][] = ['action'=>'copyInfo','name'=>'复制信息'];
}elseif($orderListArr['stauas'] == 34 || $orderListArr['stauas'] == 40){ }elseif($orderListArr['stauas'] == 34 || $orderListArr['stauas'] == 40){
$data['button'] = [['action'=>'copyInfo','name'=>'复制信息']]; $data['button'] = [['action'=>'copyInfo','name'=>'复制信息']];
} }
...@@ -1336,19 +1361,80 @@ class OrderListService extends Model ...@@ -1336,19 +1361,80 @@ class OrderListService extends Model
public static function getService ( $request ){ public static function getService ( $request ){
$session = $request['session']; $session = $request['session'];
if($session['user_type']==3){ if($session['user_type']==3){
$list = Admin::whereIn('admin_groupnew',[2,3]) if(isset($request['search_type']) && $request['search_type']==1){
->where("company_id",$session['company_id']); $input['is_type'] = 5;
if(isset($request['company_name']) && !empty($request['company_name'])){ $input['company_id'] = $session['company_id'];
$list = $list->where("company_name",'like','%'.$request['company_name'].'%'); $input['sys_num'] = $request['sys_num'];
if (isset($request['company_name']) && !empty($request['company_name'])) {
$input['company_name'] = $request['company_name'];
}
$input['sheng'] = $request['sheng'];
$input['shi'] = $request['shi'];
$input['xian'] = $request['xian'];
$input['address'] = $request['address'];
$data = OrderService::getService($input);
return $data;
}else {
$list = Admin::whereIn('admin_groupnew', [2, 3])
->where("company_id", $session['company_id']);
if (isset($request['company_name']) && !empty($request['company_name'])) {
$list = $list->where("company_name", 'like', '%' . $request['company_name'] . '%');
}
$list = $list->orderBy('admin_groupnew', 'DESC')
->select('id', 'company_name')
->get();
} }
$list = $list->orderBy('admin_groupnew','DESC')
->select('id','company_name')
->get();
}else{ }else{
$list = []; $list = [];
} }
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $list]; return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => $list];
} }
/**|---------------------------------------------------------------------------------
* @name 指派门店
* @param string id 服务工单id
* @param string ser_id 改派的服务门店
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/19 15:15
* |---------------------------------------------------------------------------------
*/
public static function sendAgain ( $request, $ip ){
$session = $request['session'];
$find_design_order = OrderList::where("id",$request['id'])
->where('is_delete', 1)
->first();
// 判断是否已派单
if (empty($find_design_order)) {
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到订单', 'Data' => []];
}
if ($find_design_order['stauas']!=30 && $find_design_order['stauas']!=20) {
return ['ErrorCode' => ErrorInc::REQUEST_FORBIDDEN, 'ErrorMessage' => '当前状态不指派门店', 'Data' => []];
}
if($find_design_order['ser_id']!=$session['admin_id']){
return ['ErrorCode' => ErrorInc::REQUEST_FORBIDDEN, 'ErrorMessage' => '非直属订单不可改派', 'Data' => []];
}
DB::beginTransaction();
$resultOrder = Orders::where('order_num',$find_design_order['order_num'])->update(['ser_id'=>$request['ser_id'],'order_status'=>20,'intall_person'=>'','intall_phone'=>'']);
if($find_design_order['stauas']==30){
$settListArr = SettlementList::where("sys_num",$find_design_order['sys_num'])->where("sett_status",'>',1)->first();
if(!empty($settListArr)){
// 该单已审核
return ['ErrorCode' => ErrorInc::MYSQL_STEP_FAILED, 'ErrorMessage' => '存在结算工单不可指派', 'Data' => []];
}
$resultsettList = SettlementList::where("sys_num",$find_design_order['sys_num'])->delete();
}else{
$resultsettList = true;
}
$rest = OrderList::where('order_num',$find_design_order['order_num'])->update(['ser_id'=>$request['ser_id'],'stauas'=>20,'ol_distype'=>3,'intall_person'=>'','install_id'=>'','intall_phone'=>'','get_time'=>'']);
if($rest && $resultsettList && $resultOrder){
DB::commit();
CommonService::inserting_log('指派门店、',$find_design_order['sys_num'],'订单('.$find_design_order['order_num'].')','派工单web',$session,$ip);//日志
self::operating_time($find_design_order['serial_number'],'指派门店',date("Y-m-d H:i:s"),$find_design_order['order_num'],$session);//订单操作时间
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}else{
DB::rollback();//回滚
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'Data' => []];
}
}
// 获取技师 // 获取技师
public static function getInstallPerson($request) public static function getInstallPerson($request)
{ {
......
...@@ -3,6 +3,7 @@ namespace App\Services; ...@@ -3,6 +3,7 @@ namespace App\Services;
use App\Http\Controllers\BaseController; use App\Http\Controllers\BaseController;
use App\Models\Feedback; use App\Models\Feedback;
use App\Models\InstallPerson; use App\Models\InstallPerson;
use App\Models\Orders;
use App\Models\SerInfor; use App\Models\SerInfor;
use DB; use DB;
use App\Models\OrderList; use App\Models\OrderList;
...@@ -579,7 +580,7 @@ class OrderListService extends Service ...@@ -579,7 +580,7 @@ class OrderListService extends Service
//`car_make` varchar(255) DEFAULT NULL COMMENT '品牌', //`car_make` varchar(255) DEFAULT NULL COMMENT '品牌',
// `car_line` varchar(50) DEFAULT NULL COMMENT '车系', // `car_line` varchar(50) DEFAULT NULL COMMENT '车系',
// `car_model` varchar(255) DEFAULT NULL COMMENT '车型', // `car_model` varchar(255) DEFAULT NULL COMMENT '车型',
$paginate = $Db->whereRaw($where)->select('order_list.*','user.car_make','user.car_line','user.car_model','user.shr_code','user.shr_name','user.shr_phone','user.shr_sheng','user.shr_shi','user.shr_xian','user.shr_adress','admin.company_name','admin.enable','admin.mouth_pay','admin.brand_service','admin.ad_project','admin.ad_alias'); $paginate = $Db->whereRaw($where)->select('order_list.*','user.car_make','user.car_line','user.car_model','user.shr_code','user.shr_name','user.shr_phone','user.shr_sheng','user.shr_shi','user.shr_xian','user.shr_adress','admin.company_name','admin.enable','admin.mouth_pay','admin.brand_service','admin.ad_project','admin.ad_alias','ser_id');
if (in_array($input['state'],[5,6,9,10])){ if (in_array($input['state'],[5,6,9,10])){
$paginate = $paginate->orderBy('feeds_time','DESC'); $paginate = $paginate->orderBy('feeds_time','DESC');
}if (in_array($input['state'],[3,4,7,8])){ }if (in_array($input['state'],[3,4,7,8])){
...@@ -635,12 +636,11 @@ class OrderListService extends Service ...@@ -635,12 +636,11 @@ class OrderListService extends Service
$where = []; $where = [];
$where['gone_order_list.is_delete'] = 1; $where['gone_order_list.is_delete'] = 1;
if ($session['admin_groupnew'] == 2 || $session['com_type'] ==2){ if ($session['admin_groupnew'] == 2 || $session['com_type'] ==2){
if($session['admin_groupnew'] == 2){
if ($session['com_type'] == 2) { $where['gone_order_list.ser_id_searchin'] = $session['id'];
$where['gone_order_list.agency_id'] = $session['company_id']; }else{
}else { $where['gone_order_list.agency_id'] = $session['company_id'];
$where['gone_order_list.ser_id_searchin'] = $session['id']; }
}
}else{ }else{
if(!in_array($session['admin_groupnew'],[7,8])) { if(!in_array($session['admin_groupnew'],[7,8])) {
$where['p_id_searchin'] = $session['admin_pt_id']; $where['p_id_searchin'] = $session['admin_pt_id'];
...@@ -674,10 +674,20 @@ class OrderListService extends Service ...@@ -674,10 +674,20 @@ class OrderListService extends Service
}else { }else {
if ($v['stauas'] == 10 || $v['stauas'] == 20) { if ($v['stauas'] == 10 || $v['stauas'] == 20) {
if($session['admin_groupnew']==3 && $v['ser_id']==$session['search_id']){
$button[] ='sendAgain';
}
$button[] = 'getOrder,refuseOrder';//day_time<'".$time $button[] = 'getOrder,refuseOrder';//day_time<'".$time
} elseif (($v['stauas'] == 30) && (($v['day_time'] < $time) || $v['day_time'] == '')) { } elseif (($v['stauas'] == 30) && (($v['day_time'] < $time) || $v['day_time'] == '')) {
if($session['admin_groupnew']==3 && $v['ser_id']==$session['search_id']){
$button[] ='sendAgain';
}
$button[] = 'refuseOrder,feedbackrefer,appointment,transferOrder,negprice'; $button[] = 'refuseOrder,feedbackrefer,appointment,transferOrder,negprice';
} elseif (($v['stauas'] == 30) && ($v['day_time'] > $time)) { } elseif (($v['stauas'] == 30) && ($v['day_time'] > $time)) {
if($session['admin_groupnew']==3 && $v['ser_id']==$session['search_id']){
$button[] ='sendAgain';
}
$button[] = 'refuseOrder,feedbackrefer,negprice'; $button[] = 'refuseOrder,feedbackrefer,negprice';
} elseif ($v['stauas'] == 34) { } elseif ($v['stauas'] == 34) {
if($v['delay_status']==1){ if($v['delay_status']==1){
...@@ -697,7 +707,7 @@ class OrderListService extends Service ...@@ -697,7 +707,7 @@ class OrderListService extends Service
} }
$button[] = 'addNote,sendSmsOrderListModel'; $button[] = 'addNote,sendSmsOrderListModel';
if($session['admin_groupnew']==3 && $v['ser_id']!=$session['search_id']){ if($session['admin_groupnew']==3 && $v['ser_id']!=$session['search_id']){
$button[] = []; $button = [];
} }
$button = BmmcService::getListButton($button,$all_button); $button = BmmcService::getListButton($button,$all_button);
$list[$k]['button_one'] = $button['button_one']??[]; $list[$k]['button_one'] = $button['button_one']??[];
...@@ -819,7 +829,52 @@ class OrderListService extends Service ...@@ -819,7 +829,52 @@ class OrderListService extends Service
} }
return $data; return $data;
} }
/**|---------------------------------------------------------------------------------
* @name 指派门店
* @param string id 服务工单id
* @param string ser_id 改派的服务门店
* @retrun \Illuminate\Http\JsonResponse /multitype:array
* @author dou 2024/9/19 15:15
* |---------------------------------------------------------------------------------
*/
public static function sendAgain ( $request, $ip, $session ){
$find_design_order = OrderList::where("id",$request['id'])
->where('is_delete', 1)
->first();
// 判断是否已派单
if (empty($find_design_order)) {
return ['ErrorCode' => ErrorInc::DATA_EMPTY, 'ErrorMessage' => '未查询到订单', 'Data' => []];
}
if ($find_design_order['stauas']!=30 && $find_design_order['stauas']!=20) {
return ['ErrorCode' => ErrorInc::REQUEST_FORBIDDEN, 'ErrorMessage' => '当前状态不指派门店', 'Data' => []];
}
if($find_design_order['ser_id']!=$session['search_id']){
return ['ErrorCode' => ErrorInc::REQUEST_FORBIDDEN, 'ErrorMessage' => '非直属订单不可改派', 'Data' => []];
}
DB::beginTransaction();
$resultOrder = Orders::where('order_num',$find_design_order['order_num'])->update(['ser_id'=>$request['ser_id'],'order_status'=>20,'intall_person'=>'','intall_phone'=>'']);
if($find_design_order['stauas']==30){
$settListArr = SettlementList::where("sys_num",$find_design_order['sys_num'])->where("sett_status",'>',1)->first();
if(!empty($settListArr)){
// 该单已审核
return ['ErrorCode' => ErrorInc::MYSQL_STEP_FAILED, 'ErrorMessage' => '存在结算工单不可指派', 'Data' => []];
}
$resultsettList = SettlementList::where("sys_num",$find_design_order['sys_num'])->delete();
}else{
$resultsettList = true;
}
$rest = OrderList::where('order_num',$find_design_order['order_num'])->update(['ser_id'=>$request['ser_id'],'stauas'=>20,'ol_distype'=>3,'intall_person'=>'','install_id'=>'','intall_phone'=>'','get_time'=>'']);
if($rest && $resultsettList && $resultOrder){
DB::commit();
$session['install_name'] = $session['admin_acc'];
CommonService::inserting_log('指派门店、',$find_design_order['sys_num'],'订单('.$find_design_order['order_num'].')','派工单列表',$session,$ip);//日志
\App\Services\Api\MobileWeb\OrderListService::operating_time($find_design_order['serial_number'],'指派门店',date("Y-m-d H:i:s"),$find_design_order['order_num'],$session);//订单操作时间
return ['ErrorCode' => 1, 'ErrorMessage' => '操作成功', 'Data' => []];
}else{
DB::rollback();//回滚
return ['ErrorCode' => ErrorInc::MYSQL_FAILED, 'ErrorMessage' => '操作失败', 'Data' => []];
}
}
/**|--------------------------------------------------------------------------------- /**|---------------------------------------------------------------------------------
* @name 获取销安装商品数量 * @name 获取销安装商品数量
* @param array $type 区分类型 ser_id服务商id,p_id平台id,goods_id商品id,gs_bid品牌id * @param array $type 区分类型 ser_id服务商id,p_id平台id,goods_id商品id,gs_bid品牌id
......
...@@ -94,6 +94,7 @@ class OrderService extends Service ...@@ -94,6 +94,7 @@ class OrderService extends Service
'address' => '详细地址', 'address' => '详细地址',
'order_type' => '订单类型', 'order_type' => '订单类型',
'company_name' => '门店名称', 'company_name' => '门店名称',
'company_id' => '所属公司id',
'orders_id' => '订单数据id', 'orders_id' => '订单数据id',
'ser_id' => '门店id', 'ser_id' => '门店id',
'user_id' => '用户id', 'user_id' => '用户id',
...@@ -1634,10 +1635,11 @@ class OrderService extends Service ...@@ -1634,10 +1635,11 @@ class OrderService extends Service
$where['service_type_findinset'] = '1'; $where['service_type_findinset'] = '1';
} }
} }
// $where['brand_service_noteq'] = 6;
if ($session && $session['admin_groupnew'] != 7) {//管理员可以看全部 if ($session && $session['admin_groupnew'] != 7) {//管理员可以看全部
$where['company_id'] = $session['company_id']; //2022-11-3 获取服务商可不用分公司 $where['company_id'] = $session['company_id']; //2022-11-3 获取服务商可不用分公司
$where['company_type'] = 1;
$where['admin_groupnew'] = 2;
} }
$list = AdminsService::getAdmins($where,['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']); $list = AdminsService::getAdmins($where,['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']);
...@@ -1764,7 +1766,8 @@ class OrderService extends Service ...@@ -1764,7 +1766,8 @@ class OrderService extends Service
}else{ }else{
return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY]; return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY];
} }
}else if($input['is_type'] == 4){ }
else if($input['is_type'] == 4){
$checkKey = CommonService::checkKey(['company_name'],$input,OrderService::rulesShow()); $checkKey = CommonService::checkKey(['company_name'],$input,OrderService::rulesShow());
if($checkKey['code']!=1){ if($checkKey['code']!=1){
return ['Data' => '', 'ErrorMessage' => '参数'.$checkKey['data'].'未填写,或值为空', 'ErrorCode' => ErrorInc::INVALID_PARAM]; return ['Data' => '', 'ErrorMessage' => '参数'.$checkKey['data'].'未填写,或值为空', 'ErrorCode' => ErrorInc::INVALID_PARAM];
...@@ -1776,8 +1779,7 @@ class OrderService extends Service ...@@ -1776,8 +1779,7 @@ class OrderService extends Service
$company_name_or['id_searchin'] = $verstorename_id; $company_name_or['id_searchin'] = $verstorename_id;
} }
$company_name_or['company_name_like'] = $input['company_name']; $company_name_or['company_name_like'] = $input['company_name'];
$where = ['company_name_searchor'=>$company_name_or,'enable'=>1,'id_noteq'=>617,'ad_project_findinset'=>$category]; $where = ['company_name_searchor'=>$company_name_or,'enable'=>1,'ad_project_findinset'=>$category];
$where['brand_service_noteq'] = 6;
$pt_id_arr = PlatformService::getPtIdByPtType(); $pt_id_arr = PlatformService::getPtIdByPtType();
if(in_array($pt_id, $pt_id_arr)) if(in_array($pt_id, $pt_id_arr))
...@@ -1788,6 +1790,8 @@ class OrderService extends Service ...@@ -1788,6 +1790,8 @@ class OrderService extends Service
if ($session && $session['admin_groupnew'] != 7) {//管理员可以看全部 if ($session && $session['admin_groupnew'] != 7) {//管理员可以看全部
$where['company_id'] = $session['company_id']; $where['company_id'] = $session['company_id'];
$where['company_type'] = 1;
$where['admin_groupnew'] = 2;
} }
CommonService::startmysql(); CommonService::startmysql();
$list = AdminsService::getAdmins($where,['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']); $list = AdminsService::getAdmins($where,['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']);
...@@ -1880,13 +1884,14 @@ class OrderService extends Service ...@@ -1880,13 +1884,14 @@ class OrderService extends Service
}else{ }else{
return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY]; return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY];
} }
}else if($input['is_type'] == 3){ }
else if($input['is_type'] == 3){
$checkKey = CommonService::checkKey(['service_id'],$input,OrderService::rulesShow()); $checkKey = CommonService::checkKey(['service_id'],$input,OrderService::rulesShow());
if($checkKey['code']!=1){ if($checkKey['code']!=1){
return ['Data' => '', 'ErrorMessage' => '参数'.$checkKey['data'].'未填写,或值为空', 'ErrorCode' => ErrorInc::INVALID_PARAM]; return ['Data' => '', 'ErrorMessage' => '参数'.$checkKey['data'].'未填写,或值为空', 'ErrorCode' => ErrorInc::INVALID_PARAM];
} }
$list = AdminsService::getAdmins(['id'=>$input['service_id'],'company_id'=>$session['company_id']],['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']); $list = AdminsService::getAdmins(['id'=>$input['service_id'],'company_id'=>$session['company_id'],'company_type'=>1],['id','company_name','is_lidao','owner','children_id','ad_brand','ad_project','brand_service'],['is_sord'=>'DESC']);
if($list){ if($list){
foreach( $list as $kri => $vri ){ foreach( $list as $kri => $vri ){
$ad_brand = array_intersect(explode(',',trim($vri['ad_brand'],',')),$gs_bid);//统计匹配订单商品品牌量 $ad_brand = array_intersect(explode(',',trim($vri['ad_brand'],',')),$gs_bid);//统计匹配订单商品品牌量
...@@ -1903,6 +1908,95 @@ class OrderService extends Service ...@@ -1903,6 +1908,95 @@ class OrderService extends Service
}else{ }else{
return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY]; return ['Data' => '', 'ErrorMessage' => '无数据', 'ErrorCode' => ErrorInc::DATA_EMPTY];
} }
}
else if($input['is_type'] == 5){
$checkKey = CommonService::checkKey(['company_id'],$input,OrderService::rulesShow());
if($checkKey['code']!=1){
return ['Data' => '', 'ErrorMessage' => '参数'.$checkKey['data'].'未填写,或值为空', 'ErrorCode' => ErrorInc::INVALID_PARAM];
}
$where = ['enable'=>1,'ad_project_findinset'=>$category];
if(isset($input['company_name']) && !empty($input['company_name'])) {
$where['company_name_like'] = $input['company_name'];
}
if(isset($session['company_id'])){
$where['company_id'] = $session['company_id'];
}else {
$where['company_id'] = $input['company_id'];
}
$where['company_type'] = 2;
$pt_id_arr = PlatformService::getPtIdByPtType();
if(in_array($pt_id, $pt_id_arr))
//if($pt_id == 453)
{
$where['service_type_findinset'] = '3';
}
$list = AdminsService::getAdmins($where,['id','company_name','is_lidao','owner'],['is_sord'=>'DESC']);
if($list){
$admin_id = array_column($list, 'id');
$admin_infor = new AdminInfor();
$children = CommonService::getMysqlData($admin_infor, ['admin_id_searchin'=>$admin_id] , ['admin_id','admin_longitude','admin_latitude','admin_province','admin_city','admin_county','admin_dressi','verstorename','verstoreid']);
$admin_list = [];
if($children){
$admin_list = CommonService::jointArrayKey($children, 'admin_id');
}
$lists = [];
$jingwei = [];
$end = CommonService::jingwei($input['sheng'],$input['sheng'].$input['shi'].$input['xian'].$input['address']);
foreach( $list as $kri => $vri ){
$adminInfo = $admin_list[$vri['id']];
$city = $adminInfo['admin_province'];
if($adminInfo['admin_longitude'] && $adminInfo['admin_latitude'] && $vri['is_lidao']=='2'){
$start = $adminInfo['admin_longitude'].','.$adminInfo['admin_latitude'];
}else{
$address = $adminInfo['admin_dressi'];
$start = CommonService::jingwei($adminInfo['admin_province'],$address);
}
if($adminInfo['admin_dressi']=='' || $start ==''){
$list[$kri]['juli'] = '';
$list[$kri]['jl'] = 100000;
$lists[] = $list[$kri];
unset($list[$kri]);continue;
}else{
$jingwei[] = $start;
}
}
if(!empty($jingwei) && !empty($end)){
$jingwei = implode('|', $jingwei);
$res = CommonService::juli($jingwei,$end,2);
}else{
$res = [];
}
$num_ = 0;
foreach ($list as $k => $v) {
if (!isset($res[$num_])) {
$list[$k]['juli'] = '';
$list[$k]['jl'] = 100000;
} else {
$list[$k]['juli'] = round($res[$num_]['distance']/1000,2) . '公里';
$list[$k]['jl'] = round($res[$num_]['distance']/1000,2);
}
$num_++;
}
if(!empty($lists) && !empty($list)) {
$list = array_merge($list, $lists);
}elseif (!empty($lists)){
$list = $lists;
}
$list = CommonService::resetListKey($list);
$num = [];
foreach($list as $k => $v){
$total[]=$v['is_lidao'];
$num[]=$v['jl'];
if($v['jl'] == 100000000){
unset($list[$k]['jl']);
}
}
array_multisort($num, SORT_NUMERIC ,SORT_ASC, $list);
return ['Data' => $list, 'ErrorMessage' => '操作成功', 'ErrorCode' => 1];
}else{
return ['Data' => $list, 'ErrorMessage' => '无数据', 'ErrorCode' => 1];
}
}else{ }else{
return ['Data' => '', 'ErrorMessage' => '参数错误-查询类型', 'ErrorCode' => ErrorInc::FAILED_PARAM]; return ['Data' => '', 'ErrorMessage' => '参数错误-查询类型', 'ErrorCode' => ErrorInc::FAILED_PARAM];
} }
......
...@@ -491,6 +491,7 @@ Route::group(['prefix'=>'orderlist','middleware'=>'requestpc'], function(){ ...@@ -491,6 +491,7 @@ Route::group(['prefix'=>'orderlist','middleware'=>'requestpc'], function(){
Route::post('sendSmsOrderListModel', 'OrderListController@sendSmsOrderListModel');//发送短信 Route::post('sendSmsOrderListModel', 'OrderListController@sendSmsOrderListModel');//发送短信
Route::post('updateManhourfee', 'OrderListController@updateManhourfee');//修改工时费 2022-3-21 Route::post('updateManhourfee', 'OrderListController@updateManhourfee');//修改工时费 2022-3-21
Route::post('patchGetOrder', 'OrderListController@patchGetOrder');//批量接单 2022-3-23 Route::post('patchGetOrder', 'OrderListController@patchGetOrder');//批量接单 2022-3-23
Route::post('sendAgain', 'OrderListController@sendAgain');//指派门店 2024-09-19
}); });
#订单系统 >> 备注导入 #订单系统 >> 备注导入
...@@ -1440,6 +1441,7 @@ Route::namespace('Api')->group(function () { ...@@ -1440,6 +1441,7 @@ Route::namespace('Api')->group(function () {
Route::post('w1/OrderList/operatingRecord', 'MobileWeb\OrderListController@operatingRecord'); //获取操作记录 Route::post('w1/OrderList/operatingRecord', 'MobileWeb\OrderListController@operatingRecord'); //获取操作记录
Route::post('w1/OrderList/getFeedback', 'MobileWeb\OrderListController@getFeedback'); //获取安装反馈数据 Route::post('w1/OrderList/getFeedback', 'MobileWeb\OrderListController@getFeedback'); //获取安装反馈数据
Route::post('w1/OrderList/getService', 'MobileWeb\OrderListController@getService'); //获取系统推荐服务商 Route::post('w1/OrderList/getService', 'MobileWeb\OrderListController@getService'); //获取系统推荐服务商
Route::post('w1/OrderList/sendAgain', 'MobileWeb\OrderListController@sendAgain'); //指派门店
Route::post('w1/OrderList/imageFeedback', 'MobileWeb\OrderListController@imageFeedback'); //施工反馈,图片反馈 Route::post('w1/OrderList/imageFeedback', 'MobileWeb\OrderListController@imageFeedback'); //施工反馈,图片反馈
Route::post('w1/OrderList/LicenseFeedback', 'MobileWeb\OrderListController@LicenseFeedback'); //施工反馈,车牌反馈 Route::post('w1/OrderList/LicenseFeedback', 'MobileWeb\OrderListController@LicenseFeedback'); //施工反馈,车牌反馈
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论