浏览代码

fix infinite loop

ifah
root 5 年前
父节点
当前提交
b064dc21e4
共有 1 个文件被更改,包括 21 次插入6 次删除
  1. 21
    6
      app/Http/Controllers/CustomerService/CustomerController.php

+ 21
- 6
app/Http/Controllers/CustomerService/CustomerController.php 查看文件

} }


function createWorkID($limit){ function createWorkID($limit){
$number = WorkOrder::select('id','wo')->orderBy('wo','DESC')->first();
$numberOnly = str_replace('WO-','',$number->wo);
$numberOnly++;
return $numberOnly;

$allowedNumbers = range(0, 9); $allowedNumbers = range(0, 9);
shuffle($allowedNumbers); shuffle($allowedNumbers);
$digits = array_rand($allowedNumbers, $limit); $digits = array_rand($allowedNumbers, $limit);
$q->where('building_name', $building)->get(); $q->where('building_name', $building)->get();
}],'PackageDetail','WorkOrder')->where('type_service',$type)->where('company_id',$dealer)->orderBy('created_at', 'desc')->get(); }],'PackageDetail','WorkOrder')->where('type_service',$type)->where('company_id',$dealer)->orderBy('created_at', 'desc')->get();
} }
if(!empty($form)){ if(!empty($form)){
info('not empty form');
foreach ($form as $key => $f) { foreach ($form as $key => $f) {
info('loop');
info($key);
info($f);
if(empty($f->WorkOrder)){ if(empty($f->WorkOrder)){
info('empty work order');
$i++; $i++;


$n1 = ''; $n1 = '';
}else{ }else{
$labelD = ""; $labelD = "";
} }
info('entry not empty subscriber');
if(!empty($f->Subscriber)){ if(!empty($f->Subscriber)){
info('not empty subscriber');
if($f->Subscriber->street != ''){ if($f->Subscriber->street != ''){
$street = $f->Subscriber->street; $street = $f->Subscriber->street;
} }


$wo = ''; $wo = '';
if($f->status_email == 'verified'){ if($f->status_email == 'verified'){
info('status email verified');
$work_order = ''; $work_order = '';
if($f->type_application == 'R'){ if($f->type_application == 'R'){
info('type application R');
do { do {
$work_order = 'WO-'.$this->createWorkID(4); $work_order = 'WO-'.$this->createWorkID(4);
} while (WorkOrder::where("wo", "=", $work_order)->first() instanceof WorkOrder); } while (WorkOrder::where("wo", "=", $work_order)->first() instanceof WorkOrder);


$wo = $work_order.'/'.$f->Subscriber->subscriber_id; $wo = $work_order.'/'.$f->Subscriber->subscriber_id;
} }


}else if($f->type_application == 'B'){ }else if($f->type_application == 'B'){
info('type application B');
do { do {
info('init loop');
$work_order = 'WO-'.$this->createWorkID(4); $work_order = 'WO-'.$this->createWorkID(4);
} while (WorkOrder::where("wo", "=", $work_order)->first() instanceof WorkOrder); } while (WorkOrder::where("wo", "=", $work_order)->first() instanceof WorkOrder);
info('exit loop');
$wo = $work_order.'/'.$f->Subscriber->subscriber_id; $wo = $work_order.'/'.$f->Subscriber->subscriber_id;
$cov = Coverage::where('building_name',$f->Subscriber->building_name)->where('Type','B')->first(); $cov = Coverage::where('building_name',$f->Subscriber->building_name)->where('Type','B')->first();
if(!empty($cov)){ if(!empty($cov)){
info('not empty coverage');
if($cov->status_building == 'non prelaid'){ if($cov->status_building == 'non prelaid'){
$wo = 'Non/'.$work_order.'/'.$f->Subscriber->subscriber_id; $wo = 'Non/'.$work_order.'/'.$f->Subscriber->subscriber_id;
} }
}else if($f->PackageDetail->voice_fee == ''){ }else if($f->PackageDetail->voice_fee == ''){
$nP = '-'; $nP = '-';
} }
info('before array push');
array_push($nested_data, array( array_push($nested_data, array(
'formT' => $n1.$i.$f->type_application, 'formT' => $n1.$i.$f->type_application,
'type' => $f->type_service, 'type' => $f->type_service,

正在加载...
取消
保存