Browse Source

项目资产编号改为非必选,资产拥有者改为字段填写

kely 5 months ago
parent
commit
676a09db9e

+ 2 - 1
app/Http/Controllers/API/ContainerController.php

@@ -265,7 +265,8 @@ class ContainerController extends Controller
                 $filesWithTasks->transform(function (File $file) use ($object) {
                     $task = $object->tasks->where('id',$file->object_id)->first();
                     $file->source_name = $task ? $task->name : null;
-                    $file->type = 'requirement';
+                    $file->project_id=$task ?$task->project_id:null;
+                    $file->type = 'tasks';
                     return $file;
                 });
 

+ 11 - 11
app/Http/Controllers/API/NameRuleController.php

@@ -128,17 +128,17 @@ class NameRuleController extends Controller
             return $this->badRequest("Please set naming combination rules");
         }
 
-        $code = match ($request->code_type) {
-            "project","container_project"=> Project::query()->find($request->code_id)?->code,
-            "container_asset" => Asset::query()->find($request->code_id)?->code,
-            "container_custom"=>'custom',
-            default => ""
-        };
-        if (! $code) {
-            return $this->badRequest("The supported type or selected item does not exist");
-        }
-
-        $name = $code;
+//        $code = match ($request->code_type) {
+//            "project","container_project"=> Project::query()->find($request->code_id)?->code,
+//            "container_asset" => Asset::query()->find($request->code_id)?->code,
+//            "container_custom"=>'custom',
+//            default => ""
+//        };
+//        if (! $code) {
+//            return $this->badRequest("The supported type or selected item does not exist");
+//        }
+
+        $name = "";
         foreach ($namingRule->combination_rules as $rule) {
             if (! isset($request->fields[$rule['field']])) {
                 return $this->badRequest(sprintf("%s field is required", $rule['field']));

+ 8 - 8
app/Http/Requests/API/Asset/CreateOrUpdateRequest.php

@@ -33,21 +33,21 @@ class CreateOrUpdateRequest extends FormRequest
         return [
             'name' => 'required|max:100',
             'code' => [
-                'required',
+                'nullable',
                 'max:45',
-                Rule::unique('assets')->where(function ($query) {
-                    $query->where('company_id', Auth::user()->company_id)
-                        ->whereNull('deleted_at');// 确保忽略已删除的记录
-                })->ignore($this->route()->parameter('asset')),
+//                Rule::unique('assets')->where(function ($query) {
+//                    $query->where('company_id', Auth::user()->company_id)
+//                        ->whereNull('deleted_at');// 确保忽略已删除的记录
+//                })->ignore($this->route()->parameter('asset')),
             ],
             'status' => [
                 'required',
                 new Enum(AssetStatus::class),
             ],
             'owner' => [
-                'required',
-                Rule::exists('users', 'id')
-                    ->where($this->userCompanyWhere()),
+                'required'
+//                Rule::exists('users', 'id')
+//                    ->where($this->userCompanyWhere()),
             ],
             'address' => 'max:255',
             'group_id' => [

+ 1 - 1
app/Http/Requests/API/Project/CreateOrUpdateRequest.php

@@ -31,7 +31,7 @@ class CreateOrUpdateRequest extends FormRequest
         return [
             'name' => 'required|max:150',
             'code' => [
-                'required',
+                'nullable',
                 'max:50',
             ],
             'const' => 'nullable|numeric',

+ 2 - 0
app/Http/Resources/API/FileAttachmentResource.php

@@ -23,6 +23,8 @@ class FileAttachmentResource extends JsonResource
             'source_name'=> $this->source_name,
             'type'=>$this->type,
             'display_id'=>$this->display_id,
+            'object_id'=>$this->object_id,
+            'project_id'=>$this->project_id,
         ];
 
         if ($this->is_bim == 1 && $this->bimFile && $this->bimFile->convert_status == BimFileConvertStatus::DONE->value) {

+ 0 - 2
app/Models/Asset.php

@@ -38,8 +38,6 @@ class Asset extends Model
     public function scopeAllowed(Builder $query): void
     {
         $query->where(function (Builder $query) {
-            return $query->where('acl', AssetACL::PRIVATE->value)->where('owner', Auth::id());
-        })->orWhere(function (Builder $query) {
             return $query->where('acl', AssetACL::CUSTOM->value)->where('whitelist', 'like', '%,' . Auth::id() . ',%');
         })->orWhere(function (Builder $query) {
             return $query->where('acl', AssetACL::PRIVATE->value)->where('created_by', Auth::id());

+ 0 - 4
app/Models/Plan.php

@@ -34,10 +34,6 @@ class Plan extends Model
     {
          $planIds = Plan::query()->withoutGlobalScope(CompanyScope::class)->leftJoin("assets", "plans.asset_id", "=", "assets.id")
              ->where(function ($query){
-             $query->where('assets.acl', AssetACL::PRIVATE->value)
-                 ->where('assets.owner', Auth::id());
-             })
-             ->orwhere(function ($query){
                  $query->where('assets.acl', AssetACL::CUSTOM->value)
                  ->where('assets.whitelist', 'like', '%,' .Auth::id() . ',%');
              })

+ 0 - 4
app/Models/Requirement.php

@@ -47,10 +47,6 @@ class Requirement extends Model
     {
         $requirementsIds = Requirement::query()->withoutGlobalScope(CompanyScope::class)->leftJoin("assets", "requirements.asset_id", "=", "assets.id")
             ->where(function ($query){
-                $query->where('assets.acl', AssetACL::PRIVATE->value)
-                    ->where('assets.owner', Auth::id());
-            })
-            ->orwhere(function ($query){
                 $query->where('assets.acl', AssetACL::CUSTOM->value)
                  ->where('assets.whitelist', 'like', '%,' .Auth::id() . ',%');
              })

+ 32 - 0
database/migrations/2024_10_11_103016_change_owner_code_in_assets_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('assets', function (Blueprint $table) {
+            //
+            $table->string('owner')->change();
+            $table->string('code',45)->nullable()->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('assets', function (Blueprint $table) {
+            //
+            $table->integer('owner')->change();
+            $table->string('code',45)->change();
+        });
+    }
+};

+ 30 - 0
database/migrations/2024_10_11_105041_change_code_in_projects_table.php

@@ -0,0 +1,30 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('projects', function (Blueprint $table) {
+            //
+            $table->string('code',45)->nullable()->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('projects', function (Blueprint $table) {
+            //
+            $table->string('code',45)->change();
+        });
+    }
+};