浏览代码

容器审批复制文件计算版本

moell 4 月之前
父节点
当前提交
3349906815
共有 1 个文件被更改,包括 14 次插入1 次删除
  1. 14 1
      app/Http/Controllers/API/ApprovalController.php

+ 14 - 1
app/Http/Controllers/API/ApprovalController.php

@@ -19,6 +19,7 @@ use App\Models\Container;
 use App\Models\Enums\ApprovalFlowObjectType;
 use App\Models\Enums\ApprovalFlowType;
 use App\Models\Enums\ApprovalObjectType;
+use App\Models\Enums\FileObjectType;
 use App\Models\Enums\FolderObjectType;
 use App\Models\Enums\ObjectAction;
 use App\Models\Enums\ObjectApprovalStatus;
@@ -217,10 +218,22 @@ class ApprovalController extends Controller
         $files = File::query()->whereIn("id", $approval->sub_object_ids)->get();
 
         foreach ($files as $file) {
+            $fileBuilder = File::query()
+                ->where('object_type', FileObjectType::CONTAINER)
+                ->where('object_id', $file->object_id)
+                ->where("title", $file->title)
+                ->where("source", 1)
+                ->where("folder_id", $targetFolder->id);
+
+            $version = (clone $fileBuilder)->count();
+
+            (clone $fileBuilder)->update(['is_latest_version' => 0]);
+
             $file->replicate()->fill([
-                'version' => 1,
                 'source_file_id' => $file->id,
                 'folder_id' => $targetFolder->id,
+                'version' => $version + 1,
+                'is_latest_version' => 1,
             ])->save();
         }