|
|
|
@ -361,7 +361,7 @@ class CarInfoHandle |
|
|
|
|
return '处理总数:' . $count . ', 失败总数:' . $faild_num; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function carInfoUpdate($data, $id) |
|
|
|
|
public function carInfoUpdate($data, $id) |
|
|
|
|
{ |
|
|
|
|
$filename = public_path('public/storage') . $data['filename']; |
|
|
|
|
if (empty($filename) OR !file_exists($filename)) { |
|
|
|
@ -394,7 +394,7 @@ class CarInfoHandle |
|
|
|
|
$insurer2_date = trim($worksheet->getCellByColumnAndRow(9, $row)->getValue()); |
|
|
|
|
$id_man = trim($worksheet->getCellByColumnAndRow(10, $row)->getValue()); |
|
|
|
|
$id_number = trim($worksheet->getCellByColumnAndRow(11, $row)->getValue()); |
|
|
|
|
if($car_frame_no == ''){ |
|
|
|
|
if ($car_frame_no == '') { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
$car_info = CarInfoT::where('car_frame_no', $car_frame_no)->find(); |
|
|
|
@ -422,7 +422,7 @@ class CarInfoHandle |
|
|
|
|
$car_info->id_number = $car_info->id_number != '' && startsWith($car_info->id_number, rtrim($id_number, '*')) ? $car_info->id_number : $id_number; |
|
|
|
|
} |
|
|
|
|
$car_info->is_update_bhx = $id; |
|
|
|
|
$car_info->is_export_failed = 0; |
|
|
|
|
$car_info->is_export_failed = 0; |
|
|
|
|
if (!$car_info->save()) { |
|
|
|
|
$statistical_information['total_error']++; |
|
|
|
|
$statistical_information['total_error_arr'][] = $row; |
|
|
|
@ -436,20 +436,20 @@ class CarInfoHandle |
|
|
|
|
cache('shell_process_' . $id, round($row / $total * 100, 3), 300); |
|
|
|
|
echo '当前进度:' . round($row / $total * 100, 3) . PHP_EOL; |
|
|
|
|
} |
|
|
|
|
if($is_update_failed > 0){ |
|
|
|
|
if ($is_update_failed > 0) { |
|
|
|
|
CarInfoT::where('is_export_failed', $is_update_failed) |
|
|
|
|
->update(['is_export_failed' => 0, 'is_update_bhx' => Db::raw('is_update_bhx - 1')]); |
|
|
|
|
}else if($car_info && $car_info->is_update_bhx <= 0) { |
|
|
|
|
} else if ($car_info && $car_info->is_update_bhx <= 0) { |
|
|
|
|
CarInfoT::where('is_update_bhx', 0) |
|
|
|
|
->where('is_export_bhx', $car_info->is_export_bhx) |
|
|
|
|
->update(['is_update_bhx' => -1]); |
|
|
|
|
} |
|
|
|
|
return '操作成功' . "数据总计{$statistical_information['total_all']}条, |
|
|
|
|
更新{$statistical_information['total_update']}, |
|
|
|
|
失败{$statistical_information['total_error']}, |
|
|
|
|
失败数据列:" . implode(',', $statistical_information['total_error_arr']) . ", |
|
|
|
|
跳过{$statistical_information['total_skip']}, |
|
|
|
|
跳过数据列:" . implode(',', $statistical_information['total_skip_arr']); |
|
|
|
|
更新{$statistical_information['total_update']}, |
|
|
|
|
失败{$statistical_information['total_error']}, |
|
|
|
|
失败数据列:" . implode(',', $statistical_information['total_error_arr']) . ", |
|
|
|
|
跳过{$statistical_information['total_skip']}, |
|
|
|
|
跳过数据列:" . implode(',', $statistical_information['total_skip_arr']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private function importExcel($data, $id) |
|
|
|
@ -524,8 +524,11 @@ class CarInfoHandle |
|
|
|
|
$this->setProcess(++$current, $count, $id); |
|
|
|
|
} |
|
|
|
|
FileSystem::appendWriteFile($filename, $content, false); |
|
|
|
|
$export_limit != 0 && CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
$export_limit != 0 && $export_type == 'success_bmc' && CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
if($export_limit != 0 && $export_type == 'success_bmc'){ |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
} else if($export_limit != 0) { |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
$info = $query->limit(3000)->select(); |
|
|
|
|
$limit = $count; |
|
|
|
@ -541,8 +544,11 @@ class CarInfoHandle |
|
|
|
|
$this->setProcess(++$current, $count, $id); |
|
|
|
|
} |
|
|
|
|
FileSystem::appendWriteFile($filename, $content, false); |
|
|
|
|
$export_limit != 0 && CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
$export_limit != 0 && $export_type == 'success_bmc' && CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
if($export_limit != 0 && $export_type == 'success_bmc'){ |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
} else if($export_limit != 0) { |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
} |
|
|
|
|
$limit -= 3000; |
|
|
|
|
$end = $info->pop(); |
|
|
|
|
$lastRegisterDate = is_array($end) ? $end['register_date'] : $end->getData('register_date'); |
|
|
|
@ -575,8 +581,11 @@ class CarInfoHandle |
|
|
|
|
} |
|
|
|
|
$this->setProcess($row, $count * 1.2, $id); |
|
|
|
|
} |
|
|
|
|
$export_limit != 0 && CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
$export_limit != 0 && $export_type == 'success_bmc' && CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
if($export_limit != 0 && $export_type == 'success_bmc'){ |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
} else if($export_limit != 0) { |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
$info = $query->limit(3000)->select(); |
|
|
|
|
$limit = $count; |
|
|
|
@ -590,8 +599,11 @@ class CarInfoHandle |
|
|
|
|
} |
|
|
|
|
$this->setProcess($row, $count * 1.2, $id); |
|
|
|
|
} |
|
|
|
|
$export_limit != 0 && CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
$export_limit != 0 && $export_type == 'success_bmc' && CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
if($export_limit != 0 && $export_type == 'success_bmc'){ |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_bmc' => 0]); |
|
|
|
|
} else if($export_limit != 0) { |
|
|
|
|
CarInfoT::where('id', 'in', $ids)->update(['is_export_' . $export_type => $id]); |
|
|
|
|
} |
|
|
|
|
$limit -= 3000; |
|
|
|
|
$end = $info->pop(); |
|
|
|
|
$lastRegisterDate = is_array($end) ? $end['register_date'] : $end->getData('register_date'); |
|
|
|
|