stanley-king il y a 2 ans
Parent
commit
93e3eb1bd9
1 fichiers modifiés avec 13 ajouts et 9 suppressions
  1. 13 9
      helper/task/handler.php

+ 13 - 9
helper/task/handler.php

@@ -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);