Browse Source

创建资产和需求时,资产组和需求分组允许为空

kely 1 year ago
parent
commit
9d60bf230a

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

@@ -7,6 +7,7 @@ use App\Http\Requests\API\Asset\CreateOrUpdateRequest;
 use App\Http\Resources\API\AssetReportResource;
 use App\Http\Resources\API\AssetResource;
 use App\Models\Asset;
+use App\Models\User;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 
@@ -18,7 +19,7 @@ class AssetController extends Controller
     public function index(Request $request)
     {
 
-        $assets = Asset::filter($request->all())->where("parent_id", 0)->with(['children','children.children'])->simplePaginate();
+        $assets = Asset::filter($request->all())->where("parent_id", 0)->where('company_id',Auth::user()->company_id)->with(['children','children.children'])->simplePaginate();
         return AssetResource::collection($assets);
     }
 

+ 7 - 7
app/Http/Controllers/API/RequirementController.php

@@ -24,17 +24,17 @@ class RequirementController extends Controller
      */
     public function index(Request $request)
     {
-        $requirements=Requirement::filter($request->all())->with(['createdBy', 'plan','group']) ->simplePaginate();
+        $requirements=Requirement::filter($request->all())->where('company_id',Auth::user()->company_id)->with(['createdBy', 'plan','group']) ->simplePaginate();
 
         return AssetRequirementResource::collection($requirements);
     }
 
-    public function byAsset(Request $request,string $assetId)
-    {
-        $requirements=Requirement::filter($request->all())->with(['createdBy', 'plan','group']) ->where('asset_id', $assetId)->simplePaginate();
-
-        return AssetRequirementResource::collection($requirements);
-    }
+//    public function byAsset(Request $request,string $assetId)
+//    {
+//        $requirements=Requirement::filter($request->all())->with(['createdBy', 'plan','group']) ->where('asset_id', $assetId)->simplePaginate();
+//
+//        return AssetRequirementResource::collection($requirements);
+//    }
 
     /**
      * Store a newly created resource in storage.

+ 2 - 1
app/Http/Requests/API/Asset/CreateOrUpdateRequest.php

@@ -49,7 +49,8 @@ class CreateOrUpdateRequest extends FormRequest
             ],
             'address' => 'max:255',
             'group_id' => [
-                'required',
+                'nullable',
+                'sometimes',
                 Rule::exists('asset_groups', 'id')
                     ->where($this->userCompanyWhere()),
             ],

+ 2 - 1
app/Http/Requests/API/Requirement/CreateOrUpdateRequest.php

@@ -51,7 +51,8 @@ class CreateOrUpdateRequest extends FormRequest
             ],
             'priority' => 'required|in:1,2,3,4',
             'requirement_group_id' => [
-                'required',
+                'nullable',
+                'sometimes',
                 Rule::exists('requirement_groups', 'id')->where($this->userCompanyWhere()),
             ]
         ];

+ 4 - 0
app/ModelFilters/AssetFilter.php

@@ -30,6 +30,10 @@ class AssetFilter extends ModelFilter
     }
 
     public function group($group_id){
+        //前端传0时代group_id为空
+        if($group_id==0){
+            return $this->whereNull('group_id');
+        }
         return $this->where('group_id',$group_id);
     }
 }

+ 4 - 1
app/ModelFilters/RequirementFilter.php

@@ -57,7 +57,10 @@ class RequirementFilter extends ModelFilter
         return $childIds;
     }
 
-    public function groupId($groupId){
+    public function group($groupId){
+        if($groupId==0){
+            return $this->whereNull('requirement_group_id');
+        }
         //
         $group = RequirementGroup::find($groupId);
         if (!$group || !$group->children()->first()) {

+ 30 - 0
database/migrations/2024_03_05_112259_change_group_id_nullable_to_assets.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('assets', function (Blueprint $table) {
+            //
+            $table->integer('group_id')->unsigned()->nullable(true)->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('assets', function (Blueprint $table) {
+            //
+            $table->integer('group_id')->unsigned()->change();
+        });
+    }
+};

+ 30 - 0
database/migrations/2024_03_05_112500_change_requirement_group_id_nullable_to_requirements.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('requirements', function (Blueprint $table) {
+            //
+            $table->integer('requirement_group_id')->nullable(true)->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('requirements', function (Blueprint $table) {
+            //
+            $table->integer('requirement_group_id')->change();
+        });
+    }
+};