|
@@ -307,15 +307,18 @@ class handler
|
|
|
$percentor = function ($total_stage, $cur_stage) use ($start_time)
|
|
|
{
|
|
|
$task_id = $this->mTtaskId;
|
|
|
- $total_used = time() - $start_time;
|
|
|
- $remain = $total_used * ($total_stage - $cur_stage) / $cur_stage;
|
|
|
- $remain = intval($remain);
|
|
|
-
|
|
|
- $expected_time = date("H:i:s", (time() + $remain));
|
|
|
+ if($total_stage > $cur_stage) {
|
|
|
+ $total_used = time() - $start_time;
|
|
|
+ $remain = $total_used * ($total_stage - $cur_stage) / $cur_stage;
|
|
|
+ $remain = intval($remain);
|
|
|
|
|
|
+ $expected_time = date("H:i:s", (time() + $remain));
|
|
|
+ $stage = "导出进度:{$cur_stage}/{$total_stage}, 预计在{$expected_time}完成";
|
|
|
+ } else {
|
|
|
+ $stage = "已经完成";
|
|
|
+ }
|
|
|
|
|
|
$mod_task = Model('task');
|
|
|
- $stage = "导出进度:{$cur_stage}/{$total_stage}, 预计完成时间:{$expected_time}";
|
|
|
$mod_task->where(['task_id' => $task_id])->update(['stage' => $stage]);
|
|
|
};
|
|
|
|
|
@@ -343,9 +346,6 @@ class handler
|
|
|
$stage = $cur_stage;
|
|
|
}
|
|
|
}
|
|
|
- if($stage > 0) {
|
|
|
- $percentor($total_stage,$total_stage);
|
|
|
- }
|
|
|
|
|
|
try {
|
|
|
$path = BASE_ROOT_PATH . "/data/upload/task/";
|
|
@@ -358,6 +358,10 @@ class handler
|
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
|
$objWriter->save($file_path);
|
|
|
|
|
|
+ if($stage > 0) {
|
|
|
+ $percentor($total_stage,$total_stage);
|
|
|
+ }
|
|
|
+
|
|
|
return [true, $filename];
|
|
|
} catch (Exception $e) {
|
|
|
Log::record("handler {$e->getMessage()}",Log::ERR);
|